我对maven有疑问。
我有单元测试,文件名以* Test和集成测试结尾,文件名以* IT结尾。
我的理解是,surefire将运行单元测试,failafe将运行集成测试。
当我跑步时: mvn clean install
运行单元测试和集成测试。
当我跑步时:
mvn verify
这两项测试也都在运行。
无论如何我可以配置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>
非常感谢
答案 0 :(得分:1)
正如前面提到的here,按照惯例,假设集成测试在TestNameIT.java
中命名,单元测试在TestNameUT.java
中命名,您可以使用includes
来过滤集成测试或单元测试。
答案 1 :(得分:0)
我创建了一个GitHub存储库,您可以在其中看到可能的maven安装程序。我在这里发布这个是因为我想与其他人分享我对这个设置的看法,我认为当有人搜索关于使用maven进行测试的时候可以找到这个
存储库包含一个功能齐全的设置。
GitHub存储库:https://github.com/StefanHeimberg/maven3-unit_integration_systemtest-setup