Pytest генерирует тесты в производных классах - PullRequest
1 голос
/ 20 марта 2019

Мне нужно сгенерировать несколько похожих тестов по разным данным. Я пытался

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 (или другим генератором), чтобы вести себя так, как я ожидал?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...