pytest运用引进@pytest.mark.parametrize中ids 导致编码乱码解决
@pytest.mark.parametrize 运行用例导致显示会形成乱码,有俩种方法解决,
第一种:创建个pytest.ini 文件,输入
[pytest]
disable_test_id_escaping_and_forfeit_all_rights_to_community_support = True
运行就会自动转化为 utf-8的形式
第二种:在用例目录创建 config.py 文件,写入
def pytest_collection_modifyitems(items):
for item in items:
item.name = item.name.encode("utf-8").decode("unicode_escape")
item._nodeid = item.nodeid.encode("utf-8").decode("unicode_escape")
会收集没一个用例name和nodeid的中文显示在控制台上,转化为utf-8形式