我们可以在 conftest.py 之外定义 pytest 钩子吗?

Ped*_*iro 5 python hook pytest

我在下面的网站上做了一些研究,但我还没有弄清楚我们是否可以在 conftest.py 文件之外定义 pytest 钩子(例如 pytest_runtest_makereport)。基本上,我想弄清楚的是,例如,我是否通过在基类中定义钩子来避免复制 conftest.py 文件,以便其他使用该基类的项目(或类)可以继承这些钩子。

多谢。

我使用过的参考资料:

Bru*_*ira 4

推荐的方法是将此挂钩移动到适当的插件中,但您可以通过在项目的文件pytest_plugins中声明变量来强制将模块解释为模块:conftest

pytest_plugins = ['myproject.plugin'] # myproject.plugin contains hooks
Run Code Online (Sandbox Code Playgroud)

或者您可以使用该-p标志来py.test

py.test -p myproject.module
Run Code Online (Sandbox Code Playgroud)

请注意,最后一个选项也可以在您的中进行配置pytest.ini

[pytest]
addopts = -p myproject.module
Run Code Online (Sandbox Code Playgroud)