Я создаю простой новый проект с новым virtualenv.requirements.txt
просто имеет pytest
и все.
.
├── requirements.txt
└── tests
├── __init__.py
└── sample_tests.py
sample_tests.py
:
import pytest
@pytest.mark.unit
def test_a():
assert 1 + 1 == 2
Если я запускаю pytest с именем файла теста python, он работает нормально:
vex --path ~/.virtualenvs/pytestdemo pytest tests/sample_tests.py
Однако ни один из следующих вызовов не работает.Все они не видят тест и вывод collected 0 items
и no tests ran
:
vex --path ~/.virtualenvs/pytestdemo pytest tests
vex --path ~/.virtualenvs/pytestdemo pytest tests/
vex --path ~/.virtualenvs/pytestdemo pytest
vex --path ~/.virtualenvs/pytestdemo python -m pytest tests
vex --path ~/.virtualenvs/pytestdemo python -m pytest tests/
vex --path ~/.virtualenvs/pytestdemo python -m pytest
В этом простом сценарии у меня есть только один тестовый файл и один тест, но в моем реальном приложении у меня многотесты, и я хочу простой вызов для запуска всех из них.Я сузил свой сценарий до этого очень простого изолированного примера и хотел бы, чтобы сработал очень простой тестовый вызов.
Я пролистал документы и руководства по началу работы.Я пытался использовать (и не использовать) пользовательский pytest.ini
.Очевидно, я попытался вызвать как pytest
, так и python -m pytest
.