【发布时间】:2012-05-05 08:13:27
【问题描述】:
我有一个关于 maven 的问题。
我有文件名以 *Test 结尾的单元测试和文件名以 *IT 结尾的集成测试。
我的理解是,surefire 将运行单元测试,而 failsafe 将运行集成测试。
当我跑步时: mvn 干净安装
单元测试和集成测试都运行。
当我跑步时:
mvn 验证
这两个测试也都运行了。
无论如何我可以配置 maven,以便当我使用:mvn clean install 时,只运行单元测试。而当我使用 mvn verify 时,只运行集成测试?
我的 POM 构建部分如下:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>failsafe-maven-plugin</artifactId>
<version>2.4.3-alpha-1</version>
<executions>
<execution>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/main/resources</directory>
</resource>
</resources>
</build>
非常感谢
【问题讨论】:
-
由于验证阶段在安装阶段之后,因此您本质上想要的是将surefire插件的测试目标移至验证阶段。 Maven Way 的一大障碍 :) 不过我的意见..
标签: java unit-testing maven integration-testing