我们可以在conftest.py之外定义最火爆的钩子吗?
问题描述
我在下面的站点上做了一些研究,但我仍然没有确定是否可以在conftest.py文件中定义其他的pytest钩子(例如pytest_runtest_makereport)。 基本上,我试图弄清楚的是,例如,我是否通过在基类中定义一个挂钩来避免复制conftest.py文件,以便使用该基类的其他项目(或类)可以继承这些挂钩。
非常感谢。
我使用过的引用:
- http://pytest.org/latest/plugins.html
- http://pytest.org/latest/example/simple.html
- 其他几个讨论挂钩的堆栈溢出页面
解决方案
推荐的方式是将此挂钩移动到适当的插件中,但您可以通过在项目的conftest
文件中声明pytest_plugins
变量来强制将模块解释为一个模块:
pytest_plugins = ['myproject.plugin'] # myproject.plugin contains hooks
或者您可以使用-p
标志py.test
:
py.test -p myproject.module
请注意,最后一个选项也可以在pytest.ini
中配置:
[pytest]
addopts = -p myproject.module
相关文章