2014-04-25 41 views
0

我需要一些幫助在這裏..即時通訊使用規格2所以運行我的綜合測試。 所以一切運行之前,IM設置我的simplicators(假的服務器我的系統進行交互)Specs2 IT環境tearDown

的問題是,我需要找到一種方法如何知道什麼時候關閉這些服務器完成所有測試完成。 經過步驟()不夠好,因爲它們發生在每個單獨的測試範圍。我需要一些東西后所有測試完成。

有什麼想法?提前致謝!

回答

1

找到了! here is how it is done

,如果你與它的鬥爭太 - 這裏是一個很好的接口設置一個IT ENV:

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 ... 
}