我正在尝试在自定义容器的顶部执行我的应用程序部署的集成测试。由于我的容器是自定义的,我不能使用 Maven Cargo 插件来设置容器。
我的容器:
- 必须通过适当的 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>
但这似乎并不能解决问题: