两者( Failsafe,Invoker )的文档表明它们对于运行集成测试很有用。我无法弄清楚将哪一个用于集成测试。
我能看到的唯一区别是 Failsafe 插件是专门为运行集成测试而设计的,而 Invoker 插件恰好对运行集成测试很有用,但它的主要目的是别的。但是,当我在 Eclipse 中创建 maven-plugin 时,Maven Invoker Plugin 已经包含在 POM 文件中,代码如下。
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-invoker-plugin</artifactId>
<version>1.7</version>
<configuration>
<debug>true</debug>
<cloneProjectsTo>${project.build.directory}/it</cloneProjectsTo>
<pomIncludes>
<pomInclude>*/pom.xml</pomInclude>
</pomIncludes>
<postBuildHookScript>verify</postBuildHookScript>
<localRepositoryPath>${project.build.directory}/local-repo</localRepositoryPath>
<settingsFile>src/it/settings.xml</settingsFile>
<goals>
<goal>clean</goal>
<goal>test-compile</goal>
</goals>
</configuration>
<executions>
<execution>
<id>integration-test</id>
<goals>
<goal>install</goal>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
它们之间的主要区别是什么?在集成测试中是否存在应该优先于其他的特定情况?