Pytest не находит все тесты в подкаталогах - PullRequest
1 голос
/ 03 марта 2020

У меня возникают проблемы с запуском pytest для запуска всех моих тестовых случаев во всех подкаталогах

Когда я запускаю pytest -v -s в каталоге Project, он заканчивается только нахождением всех тестовых случаев в ComponentB и не может найти ComponentA контрольных примеров.

Контрольные примеры работают нормально, когда я перехожу к соответствующим каталогам компонентов и запускаю команду pytest. Почему pytest пропускает ComponentA при запуске на верхнем уровне?

Project/
|____ComponentA/
|   |____srcs
|   |____tests
|        |__test_A_1.py
|        |__test_A_2.py
|        .
|        .
|        .
|____ComponentB/
|   |____srcs
|   |____tests
|        |__test_B_1.py
|        |__test_B_2.py
|        .
|        .
|        .

1 Ответ

0 голосов
/ 03 марта 2020

Я предполагаю, что имена файлов в вашем вопросе являются лишь примерами, но проверьте, соответствуют ли ваши настоящие имена файлов соглашениям обнаружение теста :

Pytest реализует следующее стандартное обнаружение теста :

  • Если аргументы не указаны, сбор начинается с тестовых путей (если настроен) или текущего каталога. В качестве альтернативы аргументы командной строки можно использовать в любой комбинации каталогов, имен файлов или идентификаторов узлов.
  • Записывать в каталоги, если они не соответствуют norecursedirs.
  • В этих каталогах искать test _ *. py или * _test.py , импортированные по имени их тестового пакета.
  • Из этих файлов соберите тестовые элементы:
    • тестируйте префиксные тестовые функции или методы вне класса
    • тестирование префиксных тестовых функций или методов внутри Тестовые префиксные тестовые классы (без метода init )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...