Как и где py.test находит приборы
Где и как py.test ищет приборы? У меня один и тот же код в 2 файлах в одной папке. Когда я удаляю conftest.py, cmdopt не может быть найден с помощью test_conf.py (также в той же папке. Почему sonoftest.py не ищется?
# content of test_sample.py
def test_answer(cmdopt):
if cmdopt == "type1":
print ("first")
elif cmdopt == "type2":
print ("second")
assert 0 # to see what was printed
содержание conftest.pyimport pytest
def pytest_addoption(parser):
parser.addoption("--cmdopt", action="store", default="type1",
help="my option: type1 or type2")
@pytest.fixture
def cmdopt(request):
return request.config.getoption("--cmdopt")
содержание sonoftest.pyimport pytest
def pytest_addoption(parser):
parser.addoption("--cmdopt", action="store", default="type1",
help="my option: type1 or type2")
@pytest.fixture
def cmdopt(request):
return request.config.getoption("--cmdopt")
Документы говорят
pytest находит test_ehlo из-за префикса test_. Тестовой функции необходим аргумент функции с именем smtp. Соответствующая функция фикстуры обнаруживается путем поиска отмеченной фикстурой функции с именем smtp.smtp () вызывается для создания экземпляра.test_ehlo () вызывается и завершается неудачно в последней строке тестовой функции.