2012-12-17 337 views
11

我編寫了一個用於運行多個測試用例的JUnit測試套件。使用Maven運行JUnit測試套件

現在我想一次運行我的測試套件類(AllTest.java),以便所有測試都由一個類觸發,攜帶和管理。我知道maven-failsafe-plugin是可用的,但有沒有其他更簡單的方法從Maven調用JUnit測試套件?

我不想爲此使用另一個插件。

這是我目前的Maven的故障保護,插件配置:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-failsafe-plugin</artifactId> 
    <version>2.9</version> 
    <configuration> 
    <includes> 
     <include>**/AllTests.java</include> 
    </includes> 
    </configuration> 
    <executions> 
    <execution> 
     <id>integration-test</id> 
     <goals> 
     <goal>integration-test</goal> 
     </goals> 
    </execution> 
    <execution> 
     <id>verify</id> 
     <goals> 
     <goal>verify</goal> 
     </goals> 
    </execution> 
    </executions> 
</plugin> 
+0

您可以使用具有相同配置的默認'surefire'插件。 –

+0

我不想使用maven-failsafe-plugin,並且我嘗試了surefire插件。但是它沒有選擇註釋爲@RunWith(Suite.class)和@SuiteClasses({TestClassMyPOJOBase.class})的類 – Chetan

+0

你有單元測試或集成測試嗎?單元測試=> maven-surefire-plugin,集成測試=> maven-failsafe-plugin。你不應該使用套件工作,因爲Maven-surefire或maven-failsafe會負責運行所有測試。此外,不要忘記單元測試和集成測試的命名約定。 – khmarbaise

回答

11

你可以用-Dit.test=[package].AllTest-Dtest與神火)運行它,或配置在POM包含的測試:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-surefire-plugin</artifactId> 
    <version>2.12.4</version> 
    <configuration> 
     <includes> 
     <include>AllTest.java</include> 
     </includes> 
    </configuration> 
    </plugin> 
+2

第二個選項爲我工作..但-Dtest和Dit.test = [包] .AllTest沒有真的爲我工作..我錯過了什麼? – Chetan

0

您可以使用以下maven命令運行測試套件:

mvn test -Dtest=x.y.z.MyTestSuite 

注意:x.y.z是包名。

相關問題