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

Posted

技术标签:

【中文标题】Jenkins 测试报告分析器与 catch 的集成【英文标题】:Jenkins tests reports analyzer integration with catch 【发布时间】:2016-05-16 10:11:03 【问题描述】:

我最近开始使用 Jenkins 来自动构建我的 c++ 项目并运行我的测试(我正在使用 catch.cpp)。

我想要某种测试运行时间和状态表,这让我找到了 Jenkins 的“测试结果分析器”插件。

我的构建运行如下:

您可以看到它们实际上在控制台输出中运行:

最后,我的测试结果分析器插件什么也没显示:

插件似乎无法识别这些是我的测试。这是合理的,因为我只告诉詹金斯执行这些命令,而且我认为理解这些是要报告的测试还不够聪明。但我找不到如何告诉“测试报告分析器”它需要报告哪些测试。

我的问题是如何在插件网页中获得测试表:

Tests Reports Analyzer

解决方案:

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

具体来说,在 Catch.cpp 中,这是通过“-r junit”命令行选项实现的。

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

【问题讨论】:

您能否将您的解决方案添加为答案并接受它?这样,寻找相同问题的其他人可以在这里找到解决方案。 我的用户被禁止回答问题,非常令人沮丧... 我引用了您的解决方案并给了您信用。 【参考方案1】:

OP提供的解决方案:

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

具体来说,在 Catch.cpp 中,这是通过“-r junit”命令行选项实现的。

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

【讨论】:

以上是关于Jenkins 测试报告分析器与 catch 的集成的主要内容,如果未能解决你的问题,请参考以下文章

Jenkins集成allure测试报告

devops===》Jenkins+gitlab自动化测试并邮件通知报告

devops===》Jenkins+gitlab自动化测试并邮件通知报告

devops===》Jenkins+gitlab自动化测试并邮件通知报告

SonarQube 没有获得单元测试覆盖率

pytest系列- pytest+allure+jenkins - 持续集成平台生成allure报告