如何解决如何在每次使用Maven执行测试之前重新启动Docker容器?
我想在每次执行单个测试之前启动一个新的postgres docker容器,而不是在运行所有集成测试之前启动一个。 我目前拥有的配置就像大多数Google结果所建议的一样:
<plugins>
<plugin>
<groupId>io.fabric8</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.33.0</version>
<configuration>
<imagePullPolicy>IfNotPresent</imagePullPolicy>
<images>
<image>
<alias>it-database</alias>
<name>postgres:11.3</name>
<run>
<namingStrategy>alias</namingStrategy>
<ports>
<port>5555:5432</port>
</ports>
<wait>
<log>(?s)database system is ready to accept connections.*database system is ready to accept connections
</log>
<time>20000</time>
</wait>
</run>
</image>
</images>
</configuration>
<executions>
<execution>
<id>docker:start</id>
<phase>pre-integration-test</phase>
<goals>
<goal>start</goal>
</goals>
</execution>
<execution>
<id>docker:stop</id>
<phase>post-integration-test</phase>
<goals>
<goal>stop</goal>
</goals>
</execution>
</executions>
</plugin>
解决方法
我强烈建议您深入研究Testcontainers,因为测试容器可以在集成测试中完全满足您的要求。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。