我在 pom.xml 中添加了以下插件
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.18.1</version>
<configuration>
<includes>
<include>**/IT*.java</include>
</includes>
<testSourceDirectory>${basedir}/src/integration-test/java</testSourceDirectory>
<testClassesDirectory>${project.build.directory}/it-classes</testClassesDirectory>
</configuration>
<executions>
<execution>
<id>integration-test</id>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
我在 src\integration-test\java 目录下有一个名为 ITSample.java 的测试,带有 @Test 注释。
专家报告
[DEBUG] (s) skip = false
[DEBUG] (s) skipITs = false
[DEBUG] (s) skipTests = false
[DEBUG] (s) testSourceDirectory = ...\src\integration-test\java
[DEBUG] (s) testClassesDirectory = ...\target\it-classes
[DEBUG] (s) includes = [**/IT*.java]
这似乎是预期的,但是当我运行 mvn failsafe:integration-test 时,我从 maven 返回:
[INFO] No tests to run.
如果我遗漏了什么或者我应该设置不同的东西,有什么想法吗?
我注意到的另一件事是,当我运行 mvn integration-test
时,故障保护插件没有被执行。
最佳答案
我正在使用 build-helper-maven-plugin
将我的集成测试移动到不同的文件夹:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<id>add-source</id>
<phase>generate-sources</phase>
<goals>
<goal>add-test-source</goal>
</goals>
<configuration>
<sources>
<source>src/it/java</source>
</sources>
</configuration>
</execution>
<execution>
<id>add-resource</id>
<phase>generate-sources</phase>
<goals>
<goal>add-test-resource</goal>
</goals>
<configuration>
<resources>
<resource>
<directory>src/it/resources</directory>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
我刚刚包含的故障安全插件是这样的:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
</execution>
</executions>
</plugin>
关于java - Maven Failsafe 插件找不到任何测试用例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32840868/