Pytest - указать директорию тестирования c conftest.py для переопределения pytest_terminal_summary - PullRequest
0 голосов
/ 06 февраля 2020

Поиск по документации net и pytest, я немного запутался. Это или не рекомендуется иметь спецификацию тестового каталога c хуков в своих соответствующих conftest.py ??

В то время как do c говорит

Обратите внимание, что pytest не находит файлы conftest.py в более глубоких вложенных подкаталогах при запуске инструмента. Как правило, рекомендуется хранить файл conftest.py в каталоге верхнего уровня test или project root.

В следующем параграфе описывается наличие на каждый каталог conftest.py

Проблема, с которой я сталкиваюсь, заключается в в том, что у существующей pytest структуры, которую мы имеем, есть несколько globals, определенных в root conftest.py И затем некоторые сценарии имеют import contest

Я хочу sh переопределить pytest_terminal_summary для нескольких моих тестовых случаев, где мне нужно проанализировать файл и отобразить результаты

Но наличие локального contest.py в тестовой директории вызывает ошибку о globals

contest.py    # Root conftest.py
global logfile

tests/mytests/
              conftest.py
              my_own_test.py

# pytest my_own_test.py
E    module 'conftest' has no attribute 'logfile'

Есть ли обходные пути для этого? Я не уверен, смогу ли я получить существующий import contest

1 Ответ

0 голосов
/ 19 февраля 2020

Я смог обойти это, имея хук pytest_terminal_summary в py-файле. Затем добавьте это как pytest_plugins=[...] в тестовый модуль.

Примечание: Мне пришлось вызывать тесты с помощью python3 -m pytest, чтобы он мог найти локально доступный модуль, но это нормально

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...