2012-08-24 26 views
16

當我運行maven clean install它總是執行所有測試src/test/java有沒有辦法跳過所有的測試,只是沒有任何測試運行簡單的版本。排除在Maven的測試建立

我想我的測試是在src/test/java,但我想告訴Maven來不執行這些命令。我一直在網上尋找類似的東西,但我沒有找到答案。

有沒有辦法做到這一點?

回答

27

與嘗試:

mvn clean install -DskipTests 

來源here

+0

這很好地工作。謝謝:) –

+0

不客氣:) – jelies

3

使用本

MVN全新安裝-DskipTests

8

您也可以選擇使用

mvn install -Dmaven.test.skip 

Maven網站:

如果你絕對必須,你也可以使用maven.test.skip屬性就能跳過編譯測試。 maven.test.skip受到Surefire,Failsafe和Compiler Plugin的支持。

至於是說,你甚至不會編譯測試源。

+1

真的是,-DskipTests沒有爲我工作,你的工作! – Xdg

2

當我的測試運行時,我最喜歡管理的方式是創建一個名爲skip-tests的Maven變量,默認爲true。然後你可以使用這個變量,像這樣:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-surefire-plugin</artifactId> 
    <version>2.12.2</version> 
    <configuration> 
     <skipTests>${skip-tests}</skipTests> 
    </configuration> 
    </plugin> 

這種方式,你可以通過在變量在構建時,-Dskip-tests=false,當你不希望它們運行。當你集成了單元測試,並且想用一個變量運行或禁用兩組測試時,這是非常有用的。

-1

我認爲最簡單的將是這樣:mvn clean package -Dmaven.skip.tests=true

我覺得這個方法使用,因爲它不會讓你改變你的POM,所以不必更改項目。

+0

這是-Dmaven.test.skip = true –

+0

這會跳過編譯測試,請參閱http://maven.apache.org/surefire/maven-surefire-plugin/examples/skipping-test.html –

0

我們使用神火單元測試,並Failsafe集成測試。

跳過所有測試:

mvn clean package -DskipTests 

要跳過只是無故障測試:

mvn clean package -DskipIT 

要跳過只是神火,你需要顯式調用故障安全插件的集成測試目標,經過編寫當然的測試課程:

mvn clean test-compile failsafe:integration-test