我在下面的站点中做了一些研究,但我还没有弄清楚除了在pytest_runtest_makereport文件中,我们是否可以定义pytest钩子(例如conftest.py )。基本上,我想弄清楚的是,如果通过在基类中定义钩子来避免复制conftest.py文件,那么使用这个基类的其他项目(或类)就可以继承这些钩子。
非常感谢。
我用过的参考资料:
发布于 2015-02-26 23:54:10
建议的方法是将这个钩子移动到适当的插件中,但是您可以通过在项目中的pytest_plugins文件中声明一个conftest变量来强制将模块解释为一个模块:
pytest_plugins = ['myproject.plugin'] # myproject.plugin contains hooks也可以将-p标志用于py.test。
py.test -p myproject.module请注意,最后一个选项也可以在pytest.ini中配置:
[pytest]
addopts = -p myproject.module发布于 2016-06-22 00:27:43
有一种简单的方法可以实现这一点,只需将所有pytest钩子放到python文件中,并将其导入到测试支柱文件夹中的conftest.py文件中。
例如:在测试柱的conftest.py中
from custom_hooks import *然后你可以重用所有的钩子。
如果您想要覆盖一个,只需在conftest.py中再次定义它。
https://stackoverflow.com/questions/28753000
复制相似问题