如何在Jenkins构建中用gradlew命令禁用SpringBoot集成测试
在Jenkins构建中用Gradle禁用集成测试的几种方法
针对你的场景,这里有几种直接通过gradlew命令或配置来跳过集成测试的方案:
直接排除集成测试任务
Gradle的-x参数可以指定要跳过的任务,大部分Spring Boot项目的集成测试任务默认是integrationTest,所以在Jenkins的构建命令里使用:./gradlew build sonarqube -x integrationTest如果你的集成测试任务是自定义命名(比如
intTest),替换成对应的任务名即可。通过项目属性控制开关
先在build.gradle里给集成测试任务添加开关逻辑:task integrationTest(type: Test) { // 你的集成测试原有配置 onlyIf { !project.hasProperty('skipIntegrationTests') } }之后在Jenkins构建时传入属性来禁用:
./gradlew build sonarqube -PskipIntegrationTests适配SonarQube覆盖率计算
如果你需要SonarQube正常统计代码覆盖率但不想跑集成测试,确保Sonar配置只读取单元测试的覆盖率报告。在build.gradle的sonarqube块里指定单元测试的Jacoco报告路径:sonarqube { properties { property 'sonar.java.coveragePlugin', 'jacoco' property 'sonar.jacoco.reportPaths', "${buildDir}/jacoco/test.exec" } }
内容的提问来源于stack exchange,提问作者Sanjay Naik
相关产品推荐
相关产品推荐

