Gdzie i jak py.test szuka urządzeń? Mam ten sam kod w 2 plikach w tym samym folderze. Gdy usunę conftest.py, cmdopt nie można znaleźć uruchomiony test_conf.py (również w tym samym folderze. Dlaczego sonoftest.py nie szukał?Jak i gdzie py.test odnajduje urządzenia
# 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
treść 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")
zawartość 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")
Docs powiedzieć
http://pytest.org/latest/fixture.html#fixture-function
- Pytest znajduje test_ehlo z powodu prefiksu test_. Funkcja testowa wymaga argumentu funkcji o nazwie smtp. Funkcja dopasowująca jest odkrywana przez szukanie funkcji oznaczonej przez urządzenie o nazwie smtp.
- Program smtp() jest wywoływany w celu utworzenia instancji.
- Funkcja test_ehlo() jest wywoływana i kończy się niepowodzeniem w ostatnim wierszu funkcji testu.