Jenkins测试报告分析器与Catch的集成

7
我最近开始使用Jenkins自动构建我的C++项目并运行我的测试(我正在使用catch.cpp)。
我希望有一种测试运行时间和状态的表格,这让我想到了Jenkins的“测试结果分析器”插件。
我让我的构建像这样运行: running the tests 你可以在控制台输出中看到它们实际上是运行的: build console output 最后,我的测试结果分析器插件什么也没有显示: no tests on the plugin page 看起来插件不能识别这些是我的测试。这是合理的,因为我只告诉Jenkins执行这些命令,我不认为它足够聪明以理解这些是要报告的测试。但我找不到如何告诉“测试报告分析器”需要报告哪些测试。
我的问题是如何得到一个像插件网页上那样的测试表: 测试结果分析器 解决方法:
Jenkins需要一个JUnit格式的XML文件来存储测试结果。
具体来说,在Catch.cpp中,可以通过“-r junit”命令行选项实现这一点。
之后,我需要配置Jenkins将“发布JUnit测试结果报告”后置动作并为其提供一个路径,以便输出与我的“make test”命令创建的XML文件相对应。

你能否将你的解决方案添加为答案并接受它?这样其他遇到相同问题的人就可以在这里找到解决方案。 - walsht
我的用户被禁止回答问题,这真的很令人沮丧... - amit levin
我引用了你的解决方案并给予了你认可。 - walsht
1个回答

2

OP提供的解决方案如下:

Jenkins需要一个Junit格式的测试结果xml文件。

具体而言,在Catch.cpp中可以通过"-r junit"命令行选项实现此功能。

之后,我需要配置Jenkins为“发布JUnit测试结果报告”后构建操作,并将其路径设置为使用我的“make test”命令创建的输出xml文件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接