Pytest 单元测试框架之参数化
1、传入单个参数
- pytest.mark.parametrize(argnames,argvalues)
- argnames:参数名
- argvalues:参数对应的值,类型必须为可迭代类型,一般为 list
import pytest class Test01(): @pytest.mark.parametrize("school",["深圳多测师","广州多测师","上海多测师"]) def test_dcs(self,school): print(school) if __name__ == '__main__': pytest.main(["-s","test_demo1.py"]) # 结果如下 test_demo1.py 深圳多测师. 广州多测师. 上海多测师.
2、传入多个参数
- pytest.mark.parametrize((arg1,arg2),[(argvalue1,argvalue2),(argvalue3,argvalue4)])
- list 中每个元素都是个元组,元组里的每个元素都与参数一一对应
import pytest class Test01(): @pytest.mark.parametrize(("school","schoolmaster"), [("深圳多测师","Mr.Chen"), ("上海多测师","Mr.Xie"), ("广州多测师","Mr.Fu")]) def test_dcs(self, school, schoolmaster): print("{}校区的校长是{}".format(school,schoolmaster)) if __name__ == '__main__': pytest.main(["-s","test_demo1.py"]) # 结果如下 test_demo1.py 深圳多测师校区的校长是Mr.Chen. 上海多测师校区的校长是Mr.Xie. 广州多测师校区的校长是Mr.Fu.
作者:一个老宅男
微信:ZhengYing8887
出处:https://www.cnblogs.com/ZhengYing0813/
备注:本文版权归作者所有,欢迎转载和添加作者微信探讨技术,但未经作者同意必须在文章页面给出原文链接,否则保留追究法律责任的权利。