В моих модульных тестах у меня есть два очень похожих прибора, и я надеялся разбить некоторые функции на вспомогательные функции.Учитывая мое понимание того, как yield
производит генераторы, я не думаю, что это должно вызывать какие-либо проблемы.my_fixture_with_helper
, должен просто вернуть генератор, который производит `fixture_helper.
import pytest
def fixture_helper():
print("Initialized from the helper...")
yield 26
print("Tearing down after the helper...")
@pytest.fixture
def my_fixture_with_helper():
return fixture_helper()
@pytest.fixture
def my_fixture():
print("Initialized from the fixture...")
yield 26
print("Tearing down after the fixture...")
def test_nohelper(my_fixture):
pass
def test_helper(my_fixture_with_helper):
pass
Однако, если я запускаю pytest --capture=no
, я получаю следующее
test_foo.py Initialized from the fixture...
.Tearing down after the fixture...
.
Я ожидаю" Инициализированоот помощника "и" Сносить помощника ", чтобы распечатать, но это не так, и я не могу понять, почему.Почему это не работает?