sbt fullRunTask没有执行

时间:2018-03-29 22:56:33

标签: scala playframework sbt

我正在尝试设置集成测试来准备我们的数据库。我在Play 2.6.12中使用sbt 1.0.3和Scala 2.11.11。

我在build.sbt中添加了这一部分:

lazy val fnHelper = taskKey[Unit]("FnTest Helpers")

testOptions in IntegrationTest += Tests.Setup(
  () => {
     println("########################### Prepare Functional Tests #####################")
     fullRunTask(fnHelper, IntegrationTest, "helper.FTTestHelper")
    println("#################################### Finished ")

  });

testOptions in IntegrationTest += Tests.Cleanup( () => println("clean up") )

以下是任务类

 object FTTestHelper {

  val logger: Logger = Logger(this.getClass())

  def setUpDatabase(): Unit = {
     println("################################Setup metadata database###########################")
      val process = Runtime.getRuntime.exec("main/functionalTest/updateFnDatabaseMetadata.sh")
      if ( process.exitValue() != 0) {
        throw new RuntimeException("fail to update metadata")
      }
  }

  def main(args: Array[String]):Unit = {
    println("############execute FT TestHelper #############")
    setUpDatabase()
  }
}

当我跑“sbt it:test”时,控制台显示:

[warn] javaOptions will be ignored, fork is set to false
########################### Prepare Functional Tests #####################
#################################### Finished 

但FTTestHelper没有执行,即使我将“fullRunTask(fnHelper,IntegrationTest,”helper.FTTestHelper“)”移出Tests.Setup。我在这里错过了吗?感谢

0 个答案:

没有答案