2011-09-23 138 views
0

我有一個多模塊maven項目。在每個模塊中都有單元測試。當我在每個模塊之前運行乾淨的安裝測試時,並且如果一個模塊中的所有測試都成功,則會成功構建。如果一個測試失敗,那麼該模塊中的所有其他測試都會成功運行(或者一些運行成功,其他失敗)。第一個失敗單元測試放置的模塊構建失敗。其他模塊被跳過。 我想要這樣的事情:首先在所有模塊中運行所有單元測試,之後如果沒有失敗的測試構建所有模塊,或者如果在一個或多個模塊中有一個或多個失敗的測試,則跳過所有模塊的構建。你能幫我嗎?在多模塊maven項目的構建階段之前運行單元測試

+0

你爲什麼需要那個? – Bozho

+0

謝謝你的回答,問題出在模塊間的依賴關係。我明白這是不可能的。 – user961245

回答

1

運行:

mvn clean test 
mvn install -Dmaven.test.skip=true 

注意,如果您有模塊間的依賴關係(我認爲你這樣做),你可能無法真正做到這一點,因爲你會需要在可以在其他模塊中運行測試之前構建依賴罐。

1

AFAIK在maven中是不可能的。你正試圖改變maven中不允許的maven構建生命週期。但是有幾個配置參數可以傳遞給maven,這會影響測試。

mvn install -Dmaven.test.skip 

這不會在所有

mvn install -Dmaven.test.failure.ignore=true 

運行單元測試,這將導致Maven來未停止,並且繼續即使有在測試階段的故障模塊的建設進程。 希望,這有助於

0

的問題是:

模塊可能有在相互依存關係,以及解決這些依賴關係,你必須建立以模塊,否則將無法編譯。所以對你的問題沒有一個合理的解決方案。

瘋狂的解決方案會以某種方式聚合所有子項目的來源(和外部依賴項),並在該集團上運行compiletest,但這將是如此怪異的破解,我很高興他們沒有這樣做。

相關問題