Из pytest Документация :
@pytest.mark.parametrize позволяет определять несколько наборов аргументов и фиксаторов в тестовой функции или классе.
Похоже, это означает, что pytest.mark.parametrize
может пометить тест для запуска с несколькими наборами приборов ? Я могу найти множество примеров параметризации аргументов, но я не могу понять, как параметризовать различные наборы приборов.
Я думаю, этот ответ близок, но на самом деле это просто параметризация аргументов, а затем разрешение различных приборов в теле теста.
Можно ли пометить тест для запуска несколько раз, используя разные наборы приборов?
Обратите внимание, я пытаюсь сделать что-то вроде этого:
import pytest
# some data fixutres
@pytest.fixture()
def data1():
"""Create some data"""
@pytest.fixture()
def data2():
"""Create some different data"""
@pytest.fixture()
def data3():
"""Create yet different data"""
# The tests
@pytest.mark.parametrize('data', [data1, data2])
def test_foo(data):
"""Test something that makes sense with datasets 1 and 2"""
@pytest.mark.parametrize('data', [data2, data3])
def test_bar(data):
"""Test something that makes sense with datasets 2 and 3"""