2015-10-21 73 views
1

我有一個多模塊Maven項目。在一個模塊中,我有幾個單元測試啓動了一個HTTP服務器。有時我遇到錯誤,因爲服務器無法在端口上啓動,因爲它已被佔用。如果maven按順序運行測試,這似乎不正確。maven是否按順序運行JUnit測試?

+3

如果你需要一個指定的順序,你應該使用TestNG代替,並且根據定義,單元測試沒有指定的順序,這意味着你的測試是集成測試...並且應該由maven-failsafe-plugin來處理。 – khmarbaise

回答

2

通過設計,單元測試應該是獨立的,不能順序運行。因此,JUnit和Maven測試任務不要按默認順序運行它們。從JUnit 4.11開始,它現在支持使用@FixMethodOrder annoation指定執行順序。但是,如果您希望測試特定代碼單元之外的功能,那麼您應該考慮集成測試。

這可以通過幾種不同的方式實現。如果您需要測試容器內的內容,則可以使用Arquilion。您也可以使用模擬庫(如Mockito)來模擬依賴對象的功能。

相關問題