Jenkins和JUnit

8
我已经阅读了 Jenkins 网站及其 JUnit 插件,但似乎一些非常基础的内容却不明显。
Jenkins 有一个 Email-ext 插件,可以在构建时发送自定义或高级通知电子邮件。在这些邮件中,您可以放置“内容标记”,这是运行时变量,在生成电子邮件时会被动态值替换。
其中一个标记是 TEST_COUNTS,它允许您显示运行的 JUnit 测试数量、失败的测试数量等信息。
如何使 Jenkins 正确地显示此信息?我需要插件吗,如果需要,是哪个插件?我的构建正在运行 JUnit 并生成 XML 报告。我认为 Jenkins 以某种方式从 XML 中解析 JUnit 结果,并使用它为该标记提供值。
但另一方面,我读过“文献”(邮件列表帖子),似乎表明为了使用该标记,您需要使用 Jenkins 运行单元测试,而不是从构建脚本内部运行 junit Ant 任务。
有人能为我澄清这一点,甚至列出我需要采取的步骤的“操作顺序”吗?
在我们的构建通知中获取测试计数将非常有用。
2个回答

14
你的第一个解释是正确的。你告诉Jenkins在哪里搜索JUnit输出文件,并解析它们以查找测试结果:

Screenshot of the Jenkins configuration

测试结果会显示在每个项目和构建页面上,只要您在那里看到正确的结果,您应该可以在电子邮件中获得正确的令牌替换。

谢谢Michael!不过我还有一个需要澄清的问题。我已经配置了“Email-ext”插件,但我没有看到任何像您回复中的屏幕截图的东西。 这告诉我您是从JUnit插件UI中获取了屏幕截图,对吗? 如果是这样,我将不得不安装JUnit插件(如果是这样,哪一个 - 有很多!!!),否则请告诉我在哪里找到这些选项(Publish JUnit test result report等)。 再次感谢! - IAmYourFaja
6
这是在“构建后操作”下的——对于自由风格和多配置作业,它默认存在。不需要插件。 - Christopher Orr

4

在“可编辑电子邮件通知”配置的内容中添加以下内容:

Total = $TEST_COUNTS
Failed = ${TEST_COUNTS,var="fail"}

我也推荐使用Jenkins用户邮件列表来解决Jenkins相关问题,通常会很有帮助。 点击此处访问该邮件列表。

谢谢,是的,我已经有类似的东西了。在构建通知中显示“没有运行测试”,这是不正确的(因为我可以在构建工作区中看到的XML报告证明了这一点!)。这告诉我我没有正确配置Jenkins来解析JUnit报告中的XML信息。 - IAmYourFaja

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