Pytest单元测试框架如何实现参数化

时间:2021-05-23

1、传入单个参数

pytest.mark.parametrize(argnames,argvalues)

argnames:参数名  

argvalues:参数对应的值,类型必须为可迭代类型,一般为 list  

import pytestclass 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 pytestclass 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.

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章