Мне нужно сгенерировать несколько похожих тестов по разным данным. Я пытался
import pytest
class BaseClass(object):
data = [1]
@pytest.mark.parametrize("param1", data)
def test_something(self, param1):
assert param1
class Test1(BaseClass):
data = [2, 3]
class Test2(BaseClass):
data = [0]
но результат
collected 2 items
test_of_pytest.py::Test1::test_something[1] PASSED [ 50%]
test_of_pytest.py::Test2::test_something[1] PASSED [100%]
вместо ожидаемого что-то вроде:
collected 3 items
test_of_pytest.py::Test1::test_something[2] PASSED [ 33%]
test_of_pytest.py::Test1::test_something[3] PASSED [ 66%]
test_of_pytest.py::Test2::test_something[0] FAIL [100%]
То есть @pytest.mark.parametrize
запускается только один раз при чтении BaseClass
.
Как бороться с parametrize
(или другим генератором), чтобы вести себя так, как я ожидал?