2012-12-20 63 views
3

我有幾個Spock測試類在一個包中組合在一起。我正在使用Junit 4.10。每個測試類都包含若干功能測試方法。spock:在任何測試類執行之前需要一個鉤子來執行一些設置步驟

我想在運行任何測試用例之前執行一些設置步驟(例如將數據加載到數據庫中,啓動Web服務器),但在測試開始時只執行一次。

我想叫這個「OneTimeSetup」的方法只有一次是否:

  • 我跑在包中的所有測試類(例如,如果他們在一個測試套件進行分組)
  • 我跑一些測試類
  • 我只運行一個測試類
  • 我測試類中只運行有一定的特徵方法

從閱讀SO上的其他文章看來,這似乎是TestNG的@BeforeSuite所做的。

我知道Spock的setupSpec()和cleanupSpec()方法,但它們只能在給定的測試類中工作。我正在尋找像「setupTestSuite()」這樣的東西。「 Spock中如何實現這一點?

回答

4

您可以編寫一個全局擴展,使用JUnit測試套件,在幫助類(例如從setupSpec)中調用一個靜態方法,該工作只執行一次,或讓構建工具完成這項工作。

相關問題