如何在运行测试之前运行任务

时间:2014-09-01 15:18:58

标签: scala sbt

以下是Build.scala的摘录:

object MyProject {

  val projectSettings = inConfig(Test)(
    testOptions += Tests.Setup { _ =>
      //subproject/runMain a.b.c.d.MainClass ??
    }
  }

}

我想在运行测试之前从另一个子项目运行一个主类。我怎么能这样做?

1 个答案:

答案 0 :(得分:4)

// build.sbt
lazy val a = project.settings(
  testOptions in Test += Tests.Setup { _ =>
    (runMain in Compile in b).toTask(" b.Main arg1 arg2").value
  }
)

lazy val b = project
// b/src/main/scala/Main.scala
package b

object Main {
  def main(args: Array[String]): Unit = {
    println("hello " + args.mkString(" "))
  }
}