カスタムコンテナの上にアプリケーションのデプロイの統合テイスティングを実行しようとしています。私のコンテナーはカスタムであるため、MavenCargoプラグインを使用してコンテナーをセットアップすることはできません。
私のコンテナ:
- テストが実行されるマシンのパスにある適切なbatファイルを介して開始する必要があります。
- すべての統合テストを含む単一のMavenモジュールがあるため、テストの完了後にプロセスをシャットダウンする方法を知りたい場合でも、手動で閉じることができます。
私の問題は、テストの実行中はコンテナを実行し続ける必要があるため、コンテナを別のプロセスで実行する必要があることです。さらに、テストには、コンテナーの準備ができるまで待機できるAPIがあります(タイムアウトを伴う一種のルックアップ)。
pom.xmlに次の行を追加しました
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.1</version>
<executions>
<execution>
<phase>pre-integration-test</phase>
<goals>
<goal>exec</goal>
</goals>
</execution>
</executions>
<configuration>
<executable>scripts/start-agent.bat</executable>
</configuration>
</plugin>
これにより、スクリプトが呼び出されます。このスクリプトには、
gs-agent.batの呼び出しを開始します
ただし、mvn execプラグインがスタックし、テストが実行されません。Javaアプリケーションからバッチファイルを実行するにはどうすればよいですか?、pom.xmlを次のように変更しました。
<configuration>
<executable>cmd</executable>
<arguments>
<argument>/C</argument>
<argument>start</argument>
<argument>gs-agent.bat</argument>
</arguments>
</configuration>
しかし、これは問題を解決していないようです: