外贸自己做网站好不好,兖矿东华建设有限公司网站,wordpress主题模板视频网站模板,横琴注册公司代理Pytest fixture参数传递的4种方式 一、fixture中的函数返回二、与pytest.mark.parametrize的结合三、fixture中的方法嵌套传递四、测试方法中产生数据后#xff0c;直接调用teardown 最近使用Pytest中的fixture和conftest时#xff0c;遇到需要在conftest中的setup和teardown… Pytest fixture参数传递的4种方式 一、fixture中的函数返回二、与pytest.mark.parametrize的结合三、fixture中的方法嵌套传递四、测试方法中产生数据后直接调用teardown 最近使用Pytest中的fixture和conftest时遇到需要在conftest中的setup和teardown方法里传递参数。这里记录以下4种实现的方式。
一、fixture中的函数返回
conftest.pypytest.fixture(scopeclass)def setup_func():test_data [{k1: v1}, {k2: v2}]return test_datatestcase.pydef test_func(setup_func)print(setup_func)结果
执行一条用例输出[{k1: v1}, {k2: v2}]二、与pytest.mark.parametrize的结合
conftest.pypytest.fixture(scopeclass)def setup_func(request):print(request.param)return request.paramtestcase.pytest_data [{k1: v1}, {k2: v2}]pytest.mark.parametrize(setup_func, test_data, indirectTrue)def test_func(setup_func)setup_func结果
执行两条用例分别输出{k1: v1}, {k2: v2}注
当 indirectFalse 时“setup_func”被当成普通变量
当 indirectTrue 时“setup_func”被当成函数执行且 “test_data”作为函数中的参数传递三、fixture中的方法嵌套传递
confitest.pypytest.fixture(scopeclass)def setup_func1():test_data1 [{k1: v1}, {k2: v2}]return test_data1pytest.fixture(scopeclass)def setup_func2(setup_func1):a setup_func1b [{k11: v11}, {k22: v22}]return (a, b)testcase.pydef test_aaa(self, setup_func2):print(setup_func2)结果
执行一条用例输出([{k1: v1}, {k2: v2}], [{k11: v11}, {k22: v22}])四、测试方法中产生数据后直接调用teardown
python.fixture(scopeclass)def teardown_func():def _teardown_func(param1, param2):func()return _teardown_func