У меня есть функция и тест
def foo(a):
return bar(a)
@pytest.mark.parametrize(
'number',
[1,2,3]
)
@pytest.mark.dependency
def test_foo(number):
assert foo(number) > SOME_CONST # Simplistic example, real case is more nuanced
Я использую pytest и модуль pytest_dependency.foo
- это функция, используемая в ряде других тестов.У меня есть функция, для которой я хочу воспроизвести зависимость от test_foo
, приведенный ниже код не работает:
@pytest.mark.dependency(depends=['test_foo'])
@pytest.mark.parametrize(
'param',
itertools.permutations(['a','b','c','d','e'],2),
ids=repr,
)
def test_bar(param):
...
important_result = foo(param)
...
Теория состоит в том, что если test_foo
не удастся, то test_bar
будет пропущен,Однако, когда я параметризирую test_bar
, каждый экземпляр test_bar
пропускается независимо от результата test_foo
.
Для пояснения этот код работает должным образом (test_bar не пропускается):
@pytest.mark.dependency(depends=['test_foo'])
def test_bar():
param = some_fnc(['a', 'b'])
...
important_result = foo(param)
...