我正在尝试设置集成测试来准备我们的数据库。我在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。我在这里错过了吗?感谢