Testcontainers-在集成测试中使用不同的数据库运行容器

时间:2019-08-13 07:11:51

标签: java docker junit5 testcontainers thorntail

在maven软件包阶段,我为应用程序构建了一个docker映像:

<plugin>
    <groupId>com.spotify</groupId>
    <artifactId>dockerfile-maven-plugin</artifactId>
    <version>${version.dockerfile-plugin}</version>
    <executions>
        <execution>
            <id>default</id>
            <goals>
                <goal>build</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <repository>archetype/thorntail</repository>
        <tag>${project.version}</tag>
        <buildArgs>
            <JAR_FILE>${project.build.finalName}-thorntail.jar</JAR_FILE>
        </buildArgs>
    </configuration>
</plugin>

在集成测试中,我按如下方式使用应用程序的这张图片:

@Container
private static GenericContainer apiContainer =
        new GenericContainer("archetype/thorntail:0")
                .withExposedPorts(THORNTAIL_WEB_PORT)
                .waitingFor(
                        Wait.forHttp("/base/api/hello")
                );

我的问题:如何向容器发出信号,表明它正在集成测试中运行,因此应该使用其他数据库,例如H2?

0 个答案:

没有答案