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 文件名。
因此,您可能只需要重命名集成測試類以符合上面顯示的三個約定之一。
添加回答
舉報