testcontainers 使用内置的docker环境
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 方法获取映射到主机的端口。
在测试方法中,你可以使用 redisHost 和 redisPort 连接到 Redis 容器。这样,你就可以在测试中使用内置的 Docker 环境
原文地址: http://www.cveoy.top/t/topic/h06T 著作权归作者所有。请勿转载和采集!