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

why*_*ous 4 scala sbt

以下是摘自Build.scala

object MyProject {

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

}
Run Code Online (Sandbox Code Playgroud)

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

Ken*_*ida 5

// 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
Run Code Online (Sandbox Code Playgroud)
// b/src/main/scala/Main.scala
package b

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