在使用pytest做测试的过程中,经常会用到pytest.mark.parametrize对用例进行参数化
如图,当参数ids中含有中文时,控制台输出会显示unicode编码,中文不能正常显示。
解决方案:
项目根目录下创建conftest.py 文件,加以下代码:
def pytest_collection_modifyitems(items):
“”"
测试用例收集完成时,将收集到的item的name和nodeid的中文显示在控制台上
:return:
“”"
for item in items:
item.name = item.name.encode(“utf-8”).decode(“unicode_escape”)
print(item.nodeid)
item._nodeid = item.nodeid.encode(“utf-8”).decode(“unicode_escape”)