使用 SBT 为 JGiven 生成 HTML 报告

Generate HTML report for JGiven with SBT

我在我的 Play 2.3.x 应用程序之一中使用 JGiven 进行测试。 documentation 解释了如何为 Maven 和 Gradle 生成 HTML 报告。但是SBT没有可用的东西。

是否有任何解决方法可以在测试结束时生成报告?也许通过在 build.sbt 中添加一些东西?我试着玩 "javaOptions in Tests" 但不知道如何让它工作。

谢谢。

我不太了解 SBT,但是,正如@ahus1 在他的评论中已经提到的那样,您可以调用 com.tngtech.jgiven.report.ReportGenerator main class。例如:

build.sbt:

libraryDependencies += "com.tngtech.jgiven" % "jgiven-html5-report" % "0.9.3"

在命令行上:

$ sbt
> run-main com.tngtech.jgiven.report.ReportGenerator --sourceDir=target/jgiven-reports/json/ --targetDir=target/jgiven-reports/html

如果你能告诉我你的最终解决方案,那就太好了,这样我就可以在 JGiven 文档中记录它。

请参阅下面我使用专用 SBT 任务的解决方案。

  1. 首先添加jgiven-html5-report依赖:

libraryDependencies += "com.tngtech.jgiven" % "jgiven-html5-report" % "0.15.3" % "test"

  1. 然后声明一个新任务。我们称它为 livingDocumentation:

lazy val livingDocumentation = taskKey[Unit]("Generate HTML5 JGiven report") livingDocumentation := Def.sequential( test in Test, runMain in Test toTask " com.tngtech.jgiven.report.ReportGenerator" ).value

使用 Def.sequential,我可以链接 2 个任务并确保源 JSON 报告可用。

  1. 最后,运行 SBT 任务使用 sbt livingDocumentation