Scala 测试之间的延迟 类

Delay between Scala test classes

在 Scalatest 中,SBT 作为构建 tool.I am 运行ning 包的所有测试作为 sbt "testOnly package.*"。我想在不同的 classes 之间延迟运行 该包通过 sbt 构建定义,即不想更改内部 classes,如何做到这一点?

注意-我已经在使用 测试中的并行执行:= false 在我的构建定义中,但我也想在不同的测试 class 执行之间延迟。

您可以使用测试监听器接口:

testListeners += new TestReportListener {
  def startGroup(name: String): Unit = println(s"Start Group $name")
  def endGroup(name: String, result: TestResult.Value): Unit =
    println(s"End Group $name (succeeded)")
  //
  def endGroup(name: String, t: Throwable): Unit = 
    println(s"End Group $name (failed)")
  //
  def testEvent(event: TestEvent): Unit = 
    println(s"Test Event: ${event.result}")
}

然后在组(文件)或单个测试之间插入 Thread.sleep。不是很优雅,但我想它会起作用。