![](/img/trans.png)
[英]Run setup only once before a test run for a parameterized test in pytest
[英]How run parametrize test only once in pytest
我只需要在pytest中運行一次參數化測試,例如,我有一個包含測試數據的動態列表,並且想要使用test_data [0]參數運行測試,以防用戶為此發送某些條件,例如mark
test_data = list()
test_data = create_test_data() #dynamic list depends on user conditions
@pytest.mark.parametrize("params", test_data)
def test_b(params):
...
最好將您的測試重構為配置文件並進行測試。 那么最簡單的方法是在不同的文件夾中定義幾個配置文件,並使用不同數量的數據。
或者,您傳遞一個參數並對其進行解析,如下所示
測試:
def test_b(params):
...
conftest.py的內容:
data = [....]
def pytest_addoption(parser):
parser.addoption("--one", action="store_true", help="run one test")
def pytest_generate_tests(metafunc):
if "params" in metafunc.fixturenames:
if metafunc.config.getoption("one"):
metafunc.parametrize("params", data[:1])
else:
metafunc.parametrize("params", data)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.