我需要一些帮助..我正在使用 specs2 ,所以运行我的集成测试。 所以在一切运行之前,我设置我的 simplicators (我的系统与之交互的假服务器)
问题是,我需要找到一种方法,知道在完成所有测试后何时关闭这些服务器。 和步骤()不够好,因为它们发生在每个单独的测试范围内。 所有测试完成后我需要运行一些东西。
任何想法?提前谢谢!
答案 0 :(得分:1)
如果你也很挣扎 - 这里有一个设置IT环境的好界面:
trait FakeServer {
def setup: Unit
def tearDown: Unit
}
object ITEnvironment extends FakeServer{
private val simplicators: Seq[FakeServer] = Seq(new FakeWebServer)
override def setup: Unit = simplicators foreach { server => server.setup}
override def tearDown: Unit = simplicators foreach { server => server.tearDown}
}
trait Specs2ITEnvironment { this: Specification =>
sequential
override def map(fs: =>Fragments) = Step( {ITEnvironment.setup} ) ^ fs ^ Step( {ITEnvironment.tearDown} )
}
class LoginIT extends SpecificationWithJUnit with Specs2ITEnvironment{
... your test here ...
}