Spring Boot Maven项目拆分单元与集成测试的配置方案咨询
Spring Boot Maven按目录拆分单元测试与集成测试
pom.xml 配置
需要配置maven-surefire-plugin(处理单元测试)和maven-failsafe-plugin(处理集成测试),明确指定各自的测试目录,无需依赖命名规则:
<build> <plugins> <!-- 单元测试插件:执行unit_tests目录下的测试 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>3.2.5</version> <configuration> <!-- 指定单元测试源码目录 --> <testSourceDirectory>${project.basedir}/src/test/java/unit_tests</testSourceDirectory> <!-- 编译后的测试类目录 --> <testClassesDirectory>${project.build.directory}/test-classes/unit_tests</testClassesDirectory> <!-- 匹配目录下所有测试类,无需命名规范 --> <includes> <include>**/*.java</include> </includes> </configuration> <executions> <execution> <goals> <goal>test</goal> </goals> <phase>test</phase> </execution> </executions> </plugin> <!-- 集成测试插件:执行integration_tests目录下的测试 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-failsafe-plugin</artifactId> <version>3.2.5</version> <configuration> <!-- 指定集成测试源码目录 --> <testSourceDirectory>${project.basedir}/src/test/java/integration_tests</testSourceDirectory> <!-- 编译后的测试类目录 --> <testClassesDirectory>${project.build.directory}/test-classes/integration_tests</testClassesDirectory> <!-- 匹配目录下所有测试类,无需命名规范 --> <includes> <include>**/*.java</include> </includes> </configuration> <executions> <execution> <goals> <goal>integration-test</goal> <goal>verify</goal> </goals> <phase>integration-test</phase> </execution> </executions> </plugin> </plugins> </build>
测试执行步骤
仅执行单元测试
在项目根目录下执行Maven命令:
mvn test
该命令会触发maven-surefire-plugin,仅运行src/test/java/unit_tests目录下的所有测试类。
仅执行集成测试
在项目根目录下执行Maven命令:
mvn integration-test
该命令会触发maven-failsafe-plugin,仅运行src/test/java/integration_tests目录下的所有测试类。
同时执行单元测试与集成测试
在项目根目录下执行Maven命令:
mvn verify
该命令会先执行单元测试(test阶段),再执行集成测试(integration-test阶段),最后验证测试结果。
内容的提问来源于stack exchange,提问作者Sankar
相关产品推荐
相关产品推荐

