2014-10-21 85 views
6

我運行Maven這樣的:的Maven的Cobertura和包裝不運行單元測試兩次

mvn clean cobertura:cobertura package 

我注意到我的單元測試得到運行兩次(因此我加倍建造時間)。有沒有辦法運行cobertura並在同一命令中生成軟件包而無需運行兩次測試?

+0

AFAIK有沒有辦法做到這一點! – StackFlowed 2014-10-21 21:15:14

+0

[雙單元測試報告與哈德森和maven]可能重複(http://stackoverflow.com/questions/1098445/double-unit-test-reporting-with-hudson-and-maven) – 333kenshin 2014-10-22 07:43:50

+0

333kenshin:也許他們可能會共享然而,同樣的根本原因,我的問題是關於一般的命令行maven,而不是關於哈德森雙重報告單元測試。 – hofan41 2014-10-22 18:48:39

回答

2

一個簡單的方法是運行兩個單獨的命令。在bash是那麼容易鏈在一起成一條線:

mvn clean cobertura:cobertura && mvn package -Dmaven.test.skip=true 

第一位:

mvn clean cobertura:cobertura 

是否乾淨,運行測試,並生成覆蓋報告。

第二位:

mvn package -Dmaven.test.skip=true 

是否包裝,但告訴它不運行測試。

&&在那裏,所以如果第一個命令失敗,那麼它不會嘗試運行第二個命令。