Передать параметры в тест
Есть фикстура:
@pytest.fixture
def fixture():
a = 1
# Before
yield
# After
Есть тест:
def test_1():
# define a
assert a == 1
Как передать в тест параметр a из фикстуры? Я понимаю, что можно использовать глобальные переменные, но это не очень удобный способ.
Ответы (1 шт):
Автор решения: Roman Konoval
→ Ссылка
yield может возвращать значение, которое будет передано в параметре теста, который называется, так же как и фикстура:
@pytest.fixture
def fixture():
a = 1
# Before
yield a
# After
def test_1(fixture):
assert fixture == 1
Если нужно передать несколько значений, то можно вернуть произвольный объект, например, кортеж и потом из него достать значения. Вот пример использования кортежа для этой цели:
@pytest.fixture
def fixture():
a = 1
b = 2
# Before
yield (a, b)
# After
def test_1(fixture):
a, b = fixture
assert a == 1
assert b == 1