7

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

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

我试图让这个 xml 在 TeamCity 中被读取。我看不到如何在构建/运行期间将XML 报告 传递给 TeamCity...

除了通过XML 报告处理

我添加了 XML 报告处理,添加了 Google 测试,然后……它要求我指定监控规则,我添加了 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 报告处理是否可能只处理在构建期间创建的报告?(哪个 Google 测试没有做?)并且忽略以前生成的报告,因为“已过时”,而只是说它找不到它们 - 或者格式错误,或者......但是我应该阅读上面的信息?

4

2 回答 2

14

我发现了一个错误报告,显示构建期间未生成的 xml 报告被忽略,使像我这样的新手相信它们可能无法正确生成。

两个简单的解决方案:

1)创建后期构建脚本

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

添加构建步骤

在此处输入图像描述

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

在此处输入图像描述

于 2012-10-17T17:10:35.427 回答
4

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

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

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

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

%teamcity.build.checkoutDir%test_results.xml

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

于 2013-11-25T20:17:32.487 回答