Teamcity pytest 插件与单元测试报告
我们最近不再使用自己定制的测试运行器和发现工具,而是选择了 py.test。为了在 teamcity 上正确报告单元测试的结果,有一个 pytest 插件:https://github.com/JetBrains/teamcity-python
安装方法是:
python setup.py install
这样一来,pytest 就能正确找到这个插件。不过,我们不想在构建机器上安装 pytest 和这个插件。我们更希望把它们打包在我们项目的“tools”目录里。
那么,如何安装和配置 py.test 让它“发现”这个插件呢?我们尝试在 pytest 的 setup.cfg 文件中添加 pytest_plugins = "teamcity"
,但无论怎么变动都没有成功。
1 个回答
6
没有名为“pytest_plugins”的配置变量(可以在“py.test -h”命令的输出中查看)。不过,环境变量“PYTEST_PLUGINS”可以包含用逗号分隔的Python导入路径。所以如果你的插件在“teamcity/util/myplugin.py”这个路径下,你可以这样设置:
export PYTEST_PLUGINS=teamcity.util.myplugin
你也可以使用命令行选项“-p teamcity.util.myplugin”来达到类似的效果。然后把它添加到你的setup.cfg文件的相应部分:
[pytest]
addopts = -p teamcity.util.myplugin