Maven 故障安全不执行测试

2022-08-31 21:28:41

我已经梳理了StackOverflow和许多其他网站,找到了许多其他相关帖子,并遵循了所有上述建议,但最终,故障安全正在跳过我的测试。

我的 JUnit 测试位于以下位置:myModule/src/main/test/java/ClientAccessIT.java

跳过了 surefire,因为本模块中没有单元测试:

<!-- POM snippet -->
<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-surefire-plugin</artifactId>
  <configuration>
  <skip>true</skip>
  </configuration>
</plugin>

我正在尝试使用故障安全运行集成测试:

<!-- POM snippet -->
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-failsafe-plugin</artifactId>
    <executions>
        <execution>
            <id>run-tests</id>
            <phase>integration-test</phase>
            <goals>
                <goal>integration-test</goal>
                <goal>verify</goal>
            </goals>
        </execution>
    </executions>
</plugin>

但是,当我运行时,我看到这个:mvn verify

[INFO] --- maven-failsafe-plugin:2.14.1:integration-test (run-tests) @ rest-services-test ---

-------------------------------------------------------
 T E S T S
-------------------------------------------------------

Results :

Tests run: 0, Failures: 0, Errors: 0, Skipped: 0

我花了最后4个半小时搜索,任何帮助将不胜感激。唯一值得一提的是,我让Cargo设置并拆除了一个Tomcat集装箱。有没有人看到明显的问题?


答案 1

您的测试不在默认测试源目录 src/test/java 中。看:

https://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html

myModule/src/main/test/java/ClientAccessIT.java

应该是:

myModule/src/test/java/ClientAccessIT.java

你还可以更新你的 pom 文件(如果你真的想让测试在 main 中运行)以包括:

<build>
    <testSources>
        <testSource>
            <directory>src/main/test</directory>
        </testSource>
    </testSources>
</build>

答案 2

我遇到了类似的问题。如果没有任何测试类编译为目标/测试类,请检查您的pom文件并确保打包不是“pom”。


推荐