Maven配置文件未运行适当的测试
我已经为只运行集成测试配置了一个概要文件,但它仍在运行所有测试。 以下是配置:Maven配置文件未运行适当的测试,maven,Maven,我已经为只运行集成测试配置了一个概要文件,但它仍在运行所有测试。 以下是配置: <profile> <id>integration</id> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</grou
<profile>
<id>integration</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.18.1</version>
<executions>
<execution>
<id>integration-test</id>
<goals>
<goal>test</goal>
</goals>
<phase>test</phase>
<configuration>
<includes>
<include>**/*IT.java</include>
</includes>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
我试着用正则表达式,就像在上解释的那样,但我发现它不起作用。
如何只让测试以IT.java结尾运行?您没有重新配置surefire运行,而是在生命周期中添加了另一个。这样,surefire:测试运行两次,一次使用默认执行id默认测试,一次使用新的执行集成测试 如果您只是想更改正在运行的测试,可以使用:
<profile>
<id>integration</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.18.1</version>
<configuration>
<includes>
<include>**/*IT.java</include>
</includes>
</configuration>
</plugin>
</plugins>
</build>
</profile>
这只会重新配置现有的执行
尽管如此,正如khmarbaise在评论中所写的那样,简单地使用maven failsafe插件更有意义。如果您真的想跳过正常的单元测试,那么您为什么要这样做呢?您可以使用skipTests配置在配置文件中显式禁用surefire。首先使用maven failsafe插件,而不是maven surefire插件。这两个插件都有适当的命名模式Test.java、*TestCase.java、Test.java(对于surefire)和Test.java。除了在测试阶段运行集成测试是错误的之外,因为存在一个集成测试生命周期阶段,该阶段正是为此而设计的。此外,这里最好有完整的pom文件。嗨,谢谢你们两位的帮助@blackbuild:不,我不想删除单元测试。运行mvn测试应该只运行单元测试,mvn测试-PsoapUi应该运行集成的soapUi测试,mvn测试-Pintegration应该只运行以它结尾的测试。我删除了执行添加并使其运行。