如何在Jenkins中显示单个测试通过/失败的结果?

Aar*_*ver 7 continuous-integration automated-tests qa jenkins jenkins-plugins

我们正在使用Scala + Maven + ScalaTest runner + Jenkins.我们在这里有JUnit样式的XML输出:

test_dir/target/scalatest-reports/
Run Code Online (Sandbox Code Playgroud)

现在我们可以看到整个构建通过/失败,或者通过详细的控制台输出来查看测试通过/失败(不理想),但我确信有更好的方法.

我已经尝试了几个后期构建步骤,例如:

  • 汇总下游测试结果
  • 发布xUnit测试结果报告

但无法获得一份测试结果表.

你有什么想法?谢谢.

Joo*_*oer 6

有两种选择:

  • ScalaTest 可以生成 HTML 报告。只需添加

    (TestOptions in Test) += Tests.Argument(TestFrameworks.ScalaTest, "-h", "target/scalatest-report")

到你的'build.sbt'。运行 'sbt test' 将在文件夹 'target/scalatest-report' 中生成一个 HTML 报告。

在 Jenkins 中,您可以使用“发布 HTML”插件来捕获此报告以进行构建。然后测试 html 可用于每个构建和作业页面。

  • ScalaTest 还会在“target/test-reports”文件夹中生成普通的 JUnit XML 报告。Jenkins 可以使用“发布 JUnit XML 测试报告”后构建操作捕获这些报告,我认为这是 Jenkins 中默认可用的。

这两种解决方案都提供了测试结果的视图,它们可以一起使用。


Ren*_*nov 5

你应该更好地描述你的症状。JUnit 风格的 XML 报告是 Jenkins/Hudson 支持的测试报告的基本形式,所以我想问题比较简单。请将您的配置与以下示例进行比较:


在此处输入图片说明


我建议如下:

  1. 检查您的配置(很可能 jenkins 无法找到实际的报告文件)
  2. 查看控制台输出以确保没有与 XML 报告文件相关的警告消息
  3. 验证 XML 报告不为空且有效
  4. 尝试使用JUnitReport 任务生成 HTML 表单
  5. 最后,如果可以的话切换到TestNG