如何在Play ScalaTest上生成HTML报告

时间:2016-05-05 17:21:21

标签: scala playframework scalatest

我的目的是生成一个可读的HTML测试报告,该报告将捕获功能测试引发的功能/场景。我正在使用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搜索了答案,但到目前为止未能获得有效的解决方案。

1 个答案:

答案 0 :(得分:5)

您必须添加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命令时生成报告。