当用例非常多时,用uniitest框架排序会乱,系统会根据1**,2**的顺序执行,导致测试用例执行错误,所以我们推荐使用pytest执行。
但是pytest运行,用例标题默认是参数化中的参数名,此种显示方法不明了直观。
@pytest.mark.parametrize()给了另一个参数 ids
@pytest.mark.parametrize(
"test_info", test_data, ids=[test_data[i]["title"] for i in range(len(test_data))]
)
使用列表推导式动态获取所有用例的title
执行结果如下:(如果你的title中含有中文,可能会出现下图情况)
解决中文编码的问题,需要将下面的代码复制到conftest.py中即可
from typing import List def pytest_collection_modifyitems( session: "Session", config: "Config", items: List["Item"] ) -> None: for item in items: item.name = item.name.encode("utf-8").decode("unicode-escape") item._nodeid = item.nodeid.encode("utf-8").decode("unicode-escape")
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。