1 回答
 
                    
                    TA贡献1831条经验 获得超4个赞
您报告的行为表明您的测试是在test阶段而不是integration-test阶段中运行的。这是因为默认情况下 Maven Surefire 和 Maven Failsafe 插件都使用类名约定来区分这两种类型的测试,如下所述:
默认单元测试行为
Maven Surefire 插件在该阶段运行单元test测试。默认情况下,它根据测试的类名选择要执行的测试,如Maven Surefire Plugin |中所述。测试的包含和排除:
- “**/Test*.java” - 包括其所有子目录以及以“Test”开头的所有 Java 文件名。 
- “**/*Test.java” - 包括其所有子目录以及所有以“Test”结尾的 Java 文件名。 
- “**/*Tests.java” - 包括其所有子目录以及所有以“Tests”结尾的 Java 文件名。 
- “**/*TestCase.java” - 包括其所有子目录以及以“TestCase”结尾的所有 Java 文件名。 
默认集成测试行为
Maven Failsafe 插件在该阶段运行集成测试integration-test。默认情况下,它还会根据测试的类名选择要执行的测试,如[Maven Failsafe Plugin | Maven Failsafe Plugin]中所述。测试的包含和排除]( https://maven.apache.org/surefire/maven-failsafe-plugin/examples/inclusion-exclusion.html:
- “**/IT*.java” - 包括其所有子目录以及所有以“IT”开头的 Java 文件名。 
- “**/*IT.java” - 包括其所有子目录以及所有以“IT”结尾的 Java 文件名。 
- “**/*ITCase.java” - 包括其所有子目录以及所有以“ITCase”结尾的 Java 文件名。 
因此,您可能只需要重命名集成测试类以符合上面显示的三个约定之一。
添加回答
举报
