从Google Test获取TeamCity中的XML报告

时间:2012-10-16 20:21:00

标签: teamcity googletest

我试图找出如何使用Google Test运行单元测试,并将结果发送到TeamCity。

我已经运行了测试,并使用命令行参数--gtest_output="xml:test_results.xml"将结果输出到xml。

我正在尝试在TeamCity中读取此xml。我没有看到在构建/运行期间如何将XML Reports传递给TeamCity ...

除了XML report Processing

我添加了XML Report Processing,添加了Google Test,然后...... 它要求我指定监控规则,并添加了xml文件的路径...我不明白监控规则是什么,或者如何创建它们......

[仍然,我在生成的xml中看不到任何地方,它打算与TeamCity交谈...]

在日志中,我有:

Google Test report watcher
[13:06:03][Google Test report watcher] No reports found for paths:
[13:06:03][Google Test report watcher] C:\path\test_results.xml
[13:06:03]Publishing internal artifacts

当然,没有报告结果。

有人可以指导我以正确的方式将xml测试结果文件导入TeamCity吗?非常感谢你!

编辑:XML报表处理是否可能只处理在构建期间创建的报表? (谷歌测试没有做什么?)并忽略了以前生成的报告,“过时”,只是说它找不到它们 - 或者格式错误,或者......但是我应该阅读上面的消息?

2 个答案:

答案 0 :(得分:11)

我发现bug report显示在构建期间未生成的xml报告被忽略,这使得像我这样的新手认为它们可能无法正确生成。

两个简单的解决方案:

1)创建一个后期构建脚本

2)添加一个使用命令行参数调用命令行可执行文件的构建步骤。例如:

添加构建步骤

enter image description here

添加构建功能 - XML报告处理

enter image description here

答案 1 :(得分:2)

我遇到了类似的问题。这就是我的工作方式。

当您从命令行调用google测试可执行文件时,请将%teamcity.build.checkoutDir%添加到您的xml文件的名称,以设置它的路径,如下所示:

--gtest_output=xml:%teamcity.build.checkoutDir%test_results.xml

然后,在构建步骤页面上配置其他构建功能时,请将此行添加到监控规则中:

%teamcity.build.checkoutDir%test_results.xml

现在路径匹配并位于构建目录中。