parametrize中的ids用法:ids参数中有中文,在控制台输出显示编码格式不正确
方法1:在conftest中使用pytest_collection_modifyitems钩子函数,对输出的item.name和item.nodeid重新编码
def pytest_collection_modifyitems(items):
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")
运行结果如下:
方法2:设置pytest.ini参数
[pytest]
disable_test_id_escaping_and_forfeit_all_rights_to_community_support = True
运行结果如下: