1、示例一
#pytest的数据参数化 import pytest import requests #示例一: class TestLogin(object): case_data = [{"title": "用正确的账号、密码登录", "data": {"username": "zhangsan", "password": "123456"}, "except": "login-pass"}, {"title": "用错误的账号、密码登录", "data": {"username": "lisi", "password": "1234567"}, "except": "login-fail"}] @pytest.mark.parametrize("case", case_data) def test_login(self, case): request_r = requests.Request(method="POST", url="http://localhost:8080/login", data=case.get("data")) assert request_r.json().get("msg") == case.get("except")2、示例二
#示例二: class TestAdd(): @pytest.mark.parametrize("a,b,c",[(1,2,3),(4,5,9),(5,6,11)]) def test_add(self,a,b,c): assert a + b == c运行结果:
============================= test session starts ============================= collecting ... collected 3 items test_login3.py::TestAdd::test_add[1-2-3] PASSED [ 33%] test_login3.py::TestAdd::test_add[4-5-9] PASSED [ 66%] test_login3.py::TestAdd::test_add[5-6-11] PASSED [100%] ============================== 3 passed in 0.09s ==============================3、示例三
#示例二 class TestAdd1(): @pytest.mark.parametrize("case",[{"a":1,"b":2,"c":3},{"a":4,"b":5,"c":9},{"a":5,"b":6,"c":11}]) def test_add1(self,case): assert case.get("a")+case.get("b") == case.get("c")运行结果:
============================= test session starts ============================= collecting ... collected 3 items test_login3.py::TestAdd1::test_add1[case0] PASSED [ 33%] test_login3.py::TestAdd1::test_add1[case1] PASSED [ 66%] test_login3.py::TestAdd1::test_add1[case2] PASSED [100%]