У меня есть несколько пакетов, для которых я хочу написать pytest
тесты. Все пакеты должны использовать одинаковую логику фикстуры, поэтому я хочу, чтобы общая логика тестирования (фикстуры) располагалась на каком-то общем пути, и каждый тест пакета должен располагаться на своем собственном пути.
Repository 1:
=============
/path/to/PackageA/test_A.py
/path/to/PackageB/test_B.py
Repository 2:
=============
/different_path/to/Common/conftest.py
Проблема в том, что когда я запускаю pytest
на test_A.py
или test_B.py
, pytest
не находит приборов, определенных в conftest.py
. Пробовал играть с опцией --confcutdir
, но безуспешно...
Единственный сценарий, который работает для меня, это запуск pytest
из /different_path/to/Common/
при настройке pytest.ini
testpath = /path/to/PackageA/
(кстати, запуск pytest /path/to/PackageA/
не сработал).
/different_path/to/Common/conftest.py
, в/path/to/PackageA/conftest.py
и/path/to/PackageB/conftest.py
. Для этого вам нужно либо добавить этот каталогCommon
в свой PYTHONPATH, либо вы можете импортировать, используя полный путь, как показано здесь. - person running.t   schedule 21.12.2015