我想用testng與Surefire plug-in的Maven。這個想法是用一組integrationTest
標記一些測試並運行插件兩次:目標test
不包括組integrationTest
和目標integration-test
包括組integrationTest
只。如何使用Maven Surefire插件與不同的組進行測試和集成測試?
我發現一些material爲兩個目標運行插件和工作,但第二次運行組不起作用(沒有測試執行)。
這裏是我的pom.xml
的build元素的插件配置:
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<excludedGroups>integrationTest</excludedGroups>
<reportFormat>brief</reportFormat>
<trimStackTrace>true</trimStackTrace>
<useFile>false</useFile>
</configuration>
<executions>
<execution>
<id>integration-test</id>
<phase>integration-test</phase>
<goals>
<goal>test</goal>
</goals>
<configuration>
<groups>integrationTest</groups>
<excludedGroups/>
<reportsDirectory>${project.build.directory}/surefire-reports/integration</reportsDirectory>
</configuration>
</execution>
</executions>
</plugin>
任何想法? mvn integration-test
運行所有的單元測試如預期(不包括組integrationTest
),但第二次試運行只是寫道:
運行的TestSuite
測試運行:0,失敗:0,錯誤:0,跳過:0,經過的時間:0.562秒
mvn test
的結果與預期的一樣,測試運行並且組integrationTest
被忽略。
excludedGroups不適用於TestNG 5.14.1 - 改爲使用5.14.2! – 2010-11-16 08:49:02
對於Surefire 2.18.1和JUnit 4.10,我得到錯誤`[ERROR]無法執行目標org.apache.maven.plugins:maven-surefire-plugin:2.18.1:test(integration-test)on project example-項目:執行集成測試 目標org.apache.maven.plugins:maven-surefire-plugin:2.18.1:測試失敗:分叉進程出錯 [錯誤] java.lang.RuntimeException:無法加載類別:無`。看起來你重寫的小組必須至少存在,即使它不在任何地方使用。我用`公共接口SystemTest擴展IntegrationTest`做這個,並排除*那個*類別。 – orlade 2015-01-08 22:30:04