Testcontainers 是一个用于在测试中启动和管理 Docker 容器的 Java 库。它提供了一种简单的方式来使用内置的 Docker 环境。

要使用内置的 Docker 环境,你需要将 testcontainers 添加到你的项目中。你可以在 Maven 或 Gradle 中添加以下依赖:

Maven:

<dependency>
    <groupId>org.testcontainers</groupId>
    <artifactId>testcontainers</artifactId>
    <version>1.16.0</version>
    <scope>test</scope>
</dependency>

Gradle:

testImplementation 'org.testcontainers:testcontainers:1.16.0'

一旦你添加了依赖,你就可以使用 Testcontainers 来启动和管理 Docker 容器。以下是一个示例:

import org.testcontainers.containers.GenericContainer;

public class MyTest {
    private static final int REDIS_PORT = 6379;

    @Container
    private static final GenericContainer redis = new GenericContainer("redis:5.0.3-alpine")
        .withExposedPorts(REDIS_PORT);

    @Test
    public void testRedisContainer() {
        String redisHost = redis.getContainerIpAddress();
        int redisPort = redis.getMappedPort(REDIS_PORT);

        // 在这里写你的测试代码,使用 redisHost 和 redisPort 连接到 Redis 容器
    }
}

在上面的示例中,我们使用 GenericContainer 类来启动一个 Redis 容器。通过调用 withExposedPorts 方法,我们将容器的 6379 端口映射到主机的一个随机端口上。然后,我们可以通过 getContainerIpAddress 方法获取容器的 IP 地址,并通过 getMappedPort 方法获取映射到主机的端口。

在测试方法中,你可以使用 redisHostredisPort 连接到 Redis 容器。这样,你就可以在测试中使用内置的 Docker 环境

testcontainers 使用内置的docker环境

原文地址: http://www.cveoy.top/t/topic/h06T 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录