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>
我知道这有点迟,但是,您能否提供解决方案的工作示例/最终版本? –