Ссылаясь на документацию хука pytest_load_initial_conftests
,
Примечание:
Этот хук не будет вызываться для файлов conftest.py
, только для плагинов setuptools.
Таким образом, размещение его в conftest.py
не имеет никакого эффекта. Вам нужно вызвать ловушку через систему плагинов pytest
. Либо переместите крючок impl в отдельный пакет, как указано в документации:
# myplugin.py
def pytest_load_initial_conftests(args):
...
# setup.py
from setuptools import setup
setup(
name='myplugin',
py_modules=['myplugin'],
entry_points={'pytest11': ['myplugin = myplugin']}
)
и установите его как обычно через pip install
/ python setup.py install
.
Или оставьте myplugin.py
с остальной частью кода и передайте настраиваемый плагин через -p
arg:
$ pytest -p myplugin
Вам может потребоваться обновить PYTHONPATH
, чтобы myplugin.py
стал импортируемым. Пользовательский аргумент плагина можно переместить в pytest.ini
, чтобы упростить вызов:
[pytest]
addopts = -p myplugin