Como e onde a py.test encontra equipamentos?

Onde e como a py.test procura por equipamentos? Eu tenho o mesmo código em 2 arquivos na mesma pasta. Quando eu excluo conftest.py, o cmdopt não pode ser encontrado executando o test_conf.py (também na mesma pasta. Por que o sonoftest.py não é pesquisado?

# 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
conteúdo de conftest.py
import 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")
conteúdo de sonoftest.py
import 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")

Os docs dizem

http://pytest.org/latest/fixture.html#fixture-function

O pytest encontra o test_ehlo por causa do prefixo test_. A função de teste precisa de um argumento de função chamado smtp. Uma função de equipamento correspondente é descoberta procurando uma função marcada pelo dispositivo chamado smtp.smtp () é chamado para criar uma instância.test_ehlo () é chamado e falha na última linha da função de teste.

questionAnswers(3)

yourAnswerToTheQuestion