我正在开发一个Spring Boot应用程序,并且作为我的maven项目的Integration Test阶段的一部分,我已经配置了spring-boot maven插件,以便在构建的前后集成测试部分启动和关闭如下:
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<id>pre-integration-test</id>
<goals>
<goal>start</goal>
</goals>
</execution>
<execution>
<id>post-integration-test</id>
<goals>
<goal>stop</goal>
</goals>
</execution>
</executions>
</plugin>
但是,我这样做只是为了让我的开发人员可以针对本地服务实例运行测试。在Jenkins上,我会针对我部署了服务的外部服务运行测试,并且我不需要在Jenkins工作中启动Spring Boot应用程序。
有没有办法让我明确停止spring-boot maven插件通过mvn命令行覆盖来启动服务?
答案 0 :(得分:1)
当然,你可以为它公开一个属性,比如
<properties>
<skip.it>false</skip.it>
</properties>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<id>pre-integration-test</id>
<goals>
<goal>start</goal>
</goals>
<configuration>
<skip>${skip.it}</skip>
</configuration>
</execution>
<execution>
<id>post-integration-test</id>
<goals>
<goal>stop</goal>
</goals>
<configuration>
<skip>${skip.it}</skip>
</configuration>
</execution>
</executions>
</plugin>
完成后,运行以下命令:mvn verify -Dskip.it=true
并且Spring Boot应用程序不会作为集成测试的一部分启动。