Teamcity pytest 插件与单元测试报告

8 投票
1 回答
5991 浏览
提问于 2025-04-17 15:19

我们最近不再使用自己定制的测试运行器和发现工具,而是选择了 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

撰写回答