搜索网络和pytest文档,我有些困惑。
是还是不建议在各自的conftest.py
中使用测试目录特定的挂钩
doc说
请注意,在工具启动时,pytest不会在更深层的嵌套子目录中找到conftest.py文件。通常最好将conftest.py文件保留在顶级测试目录或项目根目录中。
下一段描述具有每个目录conftest.py
我遇到的问题是,我们现有的pytest
框架在根globals
中定义的conftest.py
很少,然后某些脚本具有{{ 1}}
我希望在一些我需要解析文件并显示结果的测试用例中覆盖import contest
但是测试目录中存在本地pytest_terminal_summary
会引发关于contest.py
的错误
globals
任何解决方法?我不确定是否可以使用现有的contest.py # Root conftest.py
global logfile
tests/mytests/
conftest.py
my_own_test.py
# pytest my_own_test.py
E module 'conftest' has no attribute 'logfile'
答案 0 :(得分:0)
我可以通过将pytest_terminal_summary
钩入py文件来解决此问题。然后在测试模块中将其作为pytest_plugins=[...]
。
注意:我必须使用python3 -m pytest
调用测试以使其找到本地可用的模块,但这没关系