Scala 规范2中的最终清理

Scala 规范2中的最终清理,scala,specs2,Scala,Specs2,我正在为我的scala软件编写一个specs2单元测试。执行情况良好。我唯一的问题是,我需要在所有测试完成后清理。我就是找不到任何解决办法。是否有办法在所有测试完成后执行某些功能?您可以尝试使用after和after并实现def after功能 例如: class Context extends Specification { .... } trait trees extends mutable.After { def after = cleanupDB } 您需要在规范末尾添加一个:

我正在为我的scala软件编写一个specs2单元测试。执行情况良好。我唯一的问题是,我需要在所有测试完成后清理。我就是找不到任何解决办法。是否有办法在所有测试完成后执行某些功能?

您可以尝试使用after
和after
并实现
def after
功能

例如:

class Context extends Specification {
....
}

trait trees extends mutable.After {
  def after = cleanupDB
}
您需要在规范末尾添加一个:

import org.specs2.mutable._

class MySpec extends Specification {

  // lots of examples here

  // cleanup there
  step(cleanUp())
}

这适用于规范吗?如中所示:class Spec在每个测试后运行After{…}After扩展规范,但OQ在所有测试后都引用了cleanup。是否有可能如果任何步骤引发异常,则不运行cleanup?是的,但这将使运行失败。这将使运行失败,但不会杀死在测试开始时启动的服务器