如何在 Play ScalaTest 上生成 HTML 报告

How to generate HTML reports on Play ScalaTest

我的目的是生成一个可读的 HTML 测试报告,以捕获我的 features/scenarios 功能测试抛出的问题。我正在使用 FeatureSpec 进行测试。 (然后我可以向我的产品团队出示此报告以获得他们的验收批准)。

我在 Play 控制台上尝试了以下选项:

test-only -h target/html-report MySpecFile 

这个生成了一堆 js 和 css 文件,但我没有看到 html 文件。

我也尝试将此添加到我的 sbt 文件中:

testOptions in Test += Tests.Argument(TestFrameworks.ScalaTest, "-u", "target/test-reports")

这只会生成一个 xml 文件。

感谢您的帮助。我用 Google 搜索了答案,但到目前为止未能获得可行的解决方案。

您必须添加 ScalaTest 依赖项以及用于生成 HTML 报告的 Pegdown:

libraryDependencies ++= Seq(
  "org.pegdown" % "pegdown" % "1.6.0" % Test,
  "org.scalatestplus.play" %% "scalatestplus-play" % "1.5.1" % Test
)

documented 一样,生成 HTML 报告的正确参数是 -h-u 用于打开 JUnit XML 报告器)。因此,您还可以将以下行添加到 build.sbt 文件中:

testOptions in Test ++= Seq(
  Tests.Argument(TestFrameworks.ScalaTest, "-u", "target/test-reports"),
  Tests.Argument(TestFrameworks.ScalaTest, "-h", "target/test-reports")
)

我不确定你是否需要两者,但如果你愿意,当然可以删除 -u。之后,运行 sbt test 将在 target/test-reports/index.html 生成一份 HTML 报告。添加此配置将在使用 testtest-only 命令时启用报告生成。