1、pytest.mark.parametrize装饰器可以实现测试用例参数化。
2、实例:
import pytest @pytest.mark.parametrize("req,expect", [("3+5",8), ("1+1",2), ("8-1",7) ]) def test11(req,expect): assert eval(req)==expect if __name__ == ‘__main__‘: pytest.main(["-s","text_01.py"])
运行结果:
3、有时候功能变动,用例就会失败,这种预料之类会失败的用例可以标记为忽视,暂不运行。使用内置的mark.xfai
import pytest @pytest.mark.parametrize("req,expect", [("3+5",8), ("1+1",2), pytest.param("6 * 9", 42, marks=pytest.mark.xfail)#用例失败,标记忽视 ]) def test11(req,expect): assert eval(req)==expect if __name__ == ‘__main__‘: pytest.main(["-s","text_01.py"])
运行结果:
原文:https://www.cnblogs.com/guo2733/p/10530578.html