22

我讀過Maven Failsafe插件專爲運行集成測試而設計。目前我正在開發一個多模塊項目,集成測試在它自己的獨立模塊中,使用TestNg編寫,並使用surefire插件運行。我們與單元測試沒有衝突,因爲只有集成測試在該模塊的測試階段中運行。並且要在測試之前設置環境,並在運行測試後進行清理,請使用@BeforeSuite @AfterSuite TestNg註釋。因此,無需使用FailSafe插件所使用的預集成測試階段,集成測試階段和後整合測試階段。Maven FailSafe插件的好處

  • 有沒有更多的好處我錯過了,通過不使用Failsafe插件?
  • 有更好的方法來使用Failsafe插件來完成我目前的需求嗎?
  • 我可以在預集成測試,後整合測試階段,無需編寫Maven插件就可以啓動,關閉,解壓縮文件等文件嗎?

回答

15

如果你已經在你的套房,自己的測試安裝/拆卸,這從它你做的長相,沒有太多可以從防故障插件獲得。

FailSafe插件適用於被測系統的安裝成本高昂或需要很長時間(例如啓動Servlet或分佈式系統)的情況。 FailSafe插件在這些情況下派上用場的方式是您可以在pre-integration-test階段設置此環境。當測試失敗時,此插件也不會停止Maven構建的執行,這允許您在post-integration-test階段清理所有工件,之後它將檢查測試的狀態,並在此期間相應地通過或失敗構建verify階段。

19

故障安全與Surefire有一大特點:當測試失敗時,它不會立即中止。相反,它允許運行清理代碼(通常取消Jetty服務器)。