pytest接口自动化测试框架 | parametrize中ids的用法
视频来源:B站《冒死上传!pytest接口自动化测试框架(基础理论到项目实战及二次开发)教学视频【软件测试】》
一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持!
附上汇总贴:pytest接口自动化测试框架 | 汇总_COCOgsta的博客-CSDN博客
import pytest@pytest.mark.parametrize('a,b,c', [(1,1,1),(2,2,0),(3,3,1),(4,4,0)],ids=['用例一','用例二','用例三','用例四'])
def test_1(a,b,c):print(a,b,c)if __name__ == '__main__':pytest.main(['-v','-s', 'test_ids.py'])
ids参数用例描述有中文编码问题,2种解决办法:
- 在conftest中使用pytest_collection_modifyitems钩子函数,对输出的item.name和item.nodeid重新编码。
def pytest_collection_modifyitems(items):'''测试用例收集完成时,将收集到的item的name和nodeid的中文显示在控制台上'''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")
- pytest.ini
[pytest]
disable_test_id_escaping_and_forfeit_all_rights_to_community_support = True
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
