Как отключить фикстуры pytest? - PullRequest
2 голосов
/ 07 мая 2020

Я пытаюсь запустить тесты приспособлений отдельно от модульных тестов classi c.

Для этого я пометил все приспособления декоратором @pytest.mark.fixtures, например:

conftest.py

@pytest.fixture(scope="session")
def fs():
    pass

test_something.py

@pytest.mark.fixtures
def test_xxx(fs):
    pass

@pytest.mark.fixtures
def test_yyy():
    pass

, а затем запустил две команды pytest (в пределах tox):

pytest -v -m fixtures --junitxml={toxinidir}/tests/output/pytest-fixtures.xml
pytest -v -m "not fixtures" --junitxml={toxinidir}/tests/output/pytest.xml

Проблема в том, что второй прогон pytest по-прежнему создает мое приспособление для сеанса, хотя я не буду его использовать, потому что я пропускаю тесты, отмеченные выше fixtures отметкой.


Как я могу отключить прибор при втором прогоне «не приспособлений» (или пропустить прибор с привязкой к сеансу)?

...