2016-11-23 42 views
0

我正在开发一个Spring Boot应用程序,并且作为我的maven项目的集成测试阶段的一部分,我配置了spring-boot maven插件启动和建设的前置和后置的集成测试部分停产如下:命令行mvn参数停止执行运行的spring-boot-maven-plugin

 <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应用程序。

有没有办法让我明确停止通过mvn命令行覆盖启动服务的spring-boot maven插件? mvn verify -Dskip.it=true和Spring启动应用程序将无法启动,因为你的集成测试部分:

回答

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>