0

私はSpring Bootアプリケーションを開発しており、Mavenプロジェクトの統合テストフェーズの一環として、次のように、ビルドの統合テスト前および統合テスト部分で起動およびシャットダウンするように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 では、サービスをデプロイした外部サービスに対してテストを実行し、Spring Boot アプリケーションを Jenkins ジョブ内で起動する必要はありません。

mvn コマンド ライン オーバーライドを使用して、Spring-Boot Maven プラグインがサービスを起動するのを明示的に停止する方法はありますか?

4

1 に答える 1

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 アプリケーションは、統合テストの一部として開始されません。

于 2016-11-23T08:43:13.833 に答える