Параметр pytest над приспособлениями - PullRequest
0 голосов
/ 26 января 2020

Я пытаюсь запустить тестовую функцию на разных приборах. Например, в моем файле conftest.py у меня есть:

import pytest


@pytest.fixture
def myfixture_1():
    yield 1


@pytest.fixture
def myfixture_2():
    yield 2

Затем в моем файле test_me.py у меня есть:

def test_fixture_1(myfixture_1):
    assert myfixture_1 == 1


def test_fixture_2(myfixture_2):
    assert myfixture_2 == 2

И это прекрасно работает. Если я запускаю pytest tests/mytest.py, я получаю

2 passed in 0.03s

Однако, если я пытаюсь переписать test_me.py как

@pytest.mark.parametrize(
    "value, fixture",
    [(1, myfixture_1), (2, myfixture_2)]
)
def test_me_too(self, value, fixture):
    fixture == value

, тогда я получу

E   NameError: name 'myfixture_1' is not defined

Как можно Я изменяю свой код, чтобы параметризовать приборы?

...