seo页面优化平台,企业网站优化包括哪三个层面,集团网,网站快速开发平台背景#xff1a;测试数据既要在fixture方法中使用#xff0c;同时也在测试用例中使用
使用方法#xff1a;在使用parametrize的时候添加indirectTrue参数。pytest可以实现将参数传到fixture方法中#xff0c;也可以在当前测试用例中使用。
原理#xff1a;参…背景测试数据既要在fixture方法中使用同时也在测试用例中使用
使用方法在使用parametrize的时候添加indirectTrue参数。pytest可以实现将参数传到fixture方法中也可以在当前测试用例中使用。
原理参数indirectTrue时pytest会把argnames当做函数去执行将argvalues作为参数传入到argnames这个函数里。
实现demo:
通过上面的用例可以看出当参数indirectTrue时会将name_list作为参数传入login_fixture的方法中并将通过return将结果返回当调用login_fixture方法时可以获取到login_fixture方法的返回值并当做test_login测试用例的参数生成多条测试用例 import pytestname_list [jerry, Tom, Tony]pytest.fixture
def login_fixture(request):# 通过request.param来获取参数值user_fixture request.paramprint(ffixture中获取的值为{user_fixture})return user_fixturepytest.mark.parametrize(login_fixture, name_list, indirectTrue)
def test_login(login_fixture):user_test login_fixtureprint(ftest测试用例中获取到的值为{user_test})assert user_test ! if __name__ __main__:test_login()
上面的代码也可以这样实现
import pytestname_list [jerry, Tom, Tony]# parametrize的格式为pytest.mark.parametrize(参数,参数值)
pytest.mark.parametrize(a_name_list,name_list)
def test_login(a_name_list):user_test a_name_listprint(ftest测试用例中获取到的值为{user_test})assert user_test ! if __name__ __main__:test_login()注parametrize的格式可参考