2017-07-24 103 views
0

我目前有一個使用Jenkins自動構建的構建。 Jenkins構建/部署作業使用maven構建Java EAR,然後將構建的EAR部署到服務器。作爲Jenkins構建的一部分運行Spock測試

我想將Spock測試集成到此構建/部署流程中。一旦EAR編譯完成,我想對EAR代碼運行Spock測試。如果所有測試都通過了,那麼我想繼續部署EAR。如果一個或多個測試失敗,那麼我希望Jenkins構建/部署作業失敗並返回錯誤。

我也想顯示測試結果的摘要,不管它們是合格還是失敗。

我需要對Jenkins構建/部署作業做些什麼改變,實際構建EAR和/或Spock測試的maven項目才能實現?

+2

[用Maven運行Spock單元測試](https://stackoverflow.com/questions/25186004/running-spock-unit-tests-with-maven?rq=1) –

回答

2

你可以看到一個Spock就像一個JUnit擴展。因此,所有幫助您運行JUnit測試的工具也適用於spock。

例如,

  • 如果您在Maven的時候,你可以使用Maven的萬無一失,插件或Maven的故障保護,插件運行斯波克驅動測試。
  • 如果你想看到在詹金斯的結果,其可以使用後生成作用,並顯示「發佈JUnit測試結果報告書」

現在,一個令人困惑的部分是關於EAR。測試(單元和集成)通常運行之前您的構建已準備就緒。 EAR準備就緒後,可能需要運行系統測試(端到端流程)或其他事情。這意味着spock/junit /任何其他框架必須從外部聯繫EAR,這意味着您必須啓動應用程序服務器,這些測試將像遠程客戶端一樣。

這是可能的,但設置將會複雜得多(所有的數據庫,應用服務器本身等等),但這超出了這個問題的範圍。

相關問題