3
我有兩種單元測試(不是集成測試)。由於Spring Security的某些奇怪行爲,我需要首先運行所有正常測試,然後再運行安全測試。Maven Surefire與不同的文件集
我使用JUnit(所以我不能使用任何TestNG的羣體)。
所以我所做的是指定兩組包括和排除規則。
<excludes>
<exclude>**/*SecurityTest.java</exclude>
</excludes>
<includes>
<include>**/*Test.java</include>
<include>**/*Tests.java</include>
</includes>
和
<excludes>
</excludes>
<includes>
<include>**/*SecurityTest.java</include>
</includes>
,如果我代替他們在我的POM手工,所以我可以有正常的或安全測試工作。但是我當然希望在每個構建中都運行這兩種測試。
我的第一次嘗試是有兩個完整的Maven的萬無一失,插件configruation。但是,maven只考慮其中的最後一個。
我的下一個嘗試是使用兩個execution
定義,但隨後神火似乎忽略所有的規則和運行這兩個類型的混合測試。
所以我一般的問題是如何Maven的萬無一失指定兩個文件集,使他們在每次陸續執行?更具體地說明如何指定兩個不同的文件集。
與執行配置
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.9</version>
<configuration>
<junitArtifactName>junit:junit</junitArtifactName>
<encoding>UTF-8</encoding>
<inputEncoding>UTF-8</inputEncoding>
<outputEncoding>UTF-8</outputEncoding>
<argLine>-Xms256m -Xmx512m -XX:MaxPermSize=128m -ea</argLine>
</configuration>
<executions>
<execution>
<id>normal-tests</id>
<phase>test</phase>
<goals>
<goal>test</goal>
</goals>
<configuration>
<excludes>
<exclude>**/Abstract*.java</exclude>
<exclude>**/*_Roo_*</exclude>
<exclude>**/*SecurityTest.java</exclude>
</excludes>
<includes>
<include>**/*Test.java</include>
<include>**/*Tests.java</include>
</includes>
</configuration>
</execution>
<execution>
<id>security-tests</id>
<phase>test</phase>
<goals>
<goal>test</goal>
</goals>
<configuration>
<excludes>
<exclude>**/Abstract*.java</exclude>
<exclude>**/*_Roo_*</exclude>
</excludes>
<includes>
<include>**/*SecurityTest.java</include>
</includes>
</configuration>
</execution>
</executions>
</plugin>
我知道這有點遲,但是,您能否提供解決方案的工作示例/最終版本? –