首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我们能在conftest.py之外定义pytest钩子吗?

我们能在conftest.py之外定义pytest钩子吗?
EN

Stack Overflow用户
提问于 2015-02-26 21:23:26
回答 2查看 1.3K关注 0票数 5

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

非常感谢。

我用过的参考资料:

  • http://pytest.org/latest/plugins.html
  • http://pytest.org/latest/example/simple.html
  • 其他几个讨论钩子的堆栈溢出页面
EN

回答 2

Stack Overflow用户

发布于 2015-02-26 23:54:10

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

代码语言:javascript
复制
pytest_plugins = ['myproject.plugin'] # myproject.plugin contains hooks

也可以将-p标志用于py.test

代码语言:javascript
复制
py.test -p myproject.module

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

代码语言:javascript
复制
[pytest]
addopts = -p myproject.module
票数 4
EN

Stack Overflow用户

发布于 2016-06-22 00:27:43

有一种简单的方法可以实现这一点,只需将所有pytest钩子放到python文件中,并将其导入到测试支柱文件夹中的conftest.py文件中。

例如:在测试柱的conftest.py中

代码语言:javascript
复制
from custom_hooks import *

然后你可以重用所有的钩子。

如果您想要覆盖一个,只需在conftest.py中再次定义它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28753000

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档