2016-11-23 160 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>