Playframework 使用SBT为JGiven生成HTML报告

Playframework 使用SBT为JGiven生成HTML报告,playframework,sbt,bdd,playframework-2.3,jgiven,Playframework,Sbt,Bdd,Playframework 2.3,Jgiven,我正在Play 2.3.x应用程序中使用JGiven进行测试。说明了如何为Maven和Gradle生成HTML报告。但SBT没有可用的功能 测试结束时是否有生成报告的变通方法?也许可以在build.sbt中添加一些东西?我试着玩“测试中的javaOptions”,但不知道如何让它工作 谢谢。我不知道SBT的详细信息,但是,正如@ahus1在他的评论中已经提到的,您可以调用com.tngtech.jgiven.report.ReportGenerator主类。例如: build.sbt: libr

我正在Play 2.3.x应用程序中使用JGiven进行测试。说明了如何为Maven和Gradle生成HTML报告。但SBT没有可用的功能

测试结束时是否有生成报告的变通方法?也许可以在
build.sbt
中添加一些东西?我试着玩“测试中的javaOptions”,但不知道如何让它工作


谢谢。

我不知道SBT的详细信息,但是,正如@ahus1在他的评论中已经提到的,您可以调用
com.tngtech.jgiven.report.ReportGenerator
主类。例如:

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任务的我的解决方案

  • 首先添加
    jgiven-html5-report
    依赖项:
  • libraryDependencies+=“com.tngtech.jgiven”%”jgiven-html5-report“%”0.15.3“%”test“

  • 然后声明一个新任务。我们称之为生活文档:
  • lazy val livingDocumentation=taskKey[Unit](“生成HTML5 JGiven报告”)
    livingDocumentation:=Def.sequential(
    测试中的测试,
    runMain测试任务“com.tngtech.jgiven.report.ReportGenerator”
    ).值

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

  • 最后,使用
    sbtlivingdocumentation

  • 文档在“HTML报告”一节中描述了一种简单的Java方法,通过调用
    com.tngtech.jgiven.Report.ReportGenerator
    并通过命令行传递参数来实现这一点。Gradle集成实际上只是调用这个主方法的类,并将命令行参数作为参数传递。这些文档是否足以将其集成到sbt中?