pytest: возможно ли использовать приборы pytest-datadir в настройке класса / разрыве - PullRequest
0 голосов
/ 07 февраля 2020

У меня был класс, где я использовал setup_method:

class TestClassUnderTest():
    def setup_method(self, method):
        with open(foo, "r") as bar_fd:
            yaml_output = yaml.load(bar_fd, Loader=yaml.SafeLoader)
        self.object_under_test = ClassUnderTest(yaml_output)

    def test_initialization(self, mocker):
        assert not self.object_under_test.boolean_attribute

Я хочу использовать плагин pytest-datadir для управления моими файлами данных в setup_method:

class TestClassUnderTest():
    def setup_method(self, method, shared_datadir): # shared_datadir is the fixture from the plug-in
        with open(str(shared_datadir.joinpath("name_of_file_inside_the_dir")), "r") as bar_fd:
            yaml_output = yaml.load(bar_fd, Loader=yaml.SafeLoader)
        self.object_under_test = ClassUnderTest(yaml_output)

Сообщение об ошибке ERROR tests/test_common.py::TestClassUnderTest::test_initialization - TypeError: setup_method() missing 1 required positional argument: 'shared_datadir' заставляет меня поверить, что расположение аргументов строго и не работает так, как я ожидаю.

Могу ли я передать случайный прибор в метод настройки / разрыва?

...