Testcontainers: 使用内置 Docker 环境进行测试
Testcontainers 是一个用于在测试中启动和管理 Docker 容器的 Java 库。它提供了一种简单的方式来使用内置的 Docker 环境。\n\n要使用内置的 Docker 环境,你需要将 testcontainers 添加到你的项目中。你可以在 Maven 或 Gradle 中添加以下依赖:\n\nMaven:\n\nxml\n<dependency>\n <groupId>org.testcontainers</groupId>\n <artifactId>testcontainers</artifactId>\n <version>1.16.0</version>\n <scope>test</scope>\n</dependency>\n\n\nGradle:\n\ngroovy\ntestImplementation 'org.testcontainers:testcontainers:1.16.0'\n\n\n一旦你添加了依赖,你就可以使用 Testcontainers 来启动和管理 Docker 容器。以下是一个示例:\n\njava\nimport org.testcontainers.containers.GenericContainer;\n\npublic class MyTest {\n private static final int REDIS_PORT = 6379;\n\n @Container\n private static final GenericContainer redis = new GenericContainer("redis:5.0.3-alpine")\n .withExposedPorts(REDIS_PORT);\n\n @Test\n public void testRedisContainer() {\n String redisHost = redis.getContainerIpAddress();\n int redisPort = redis.getMappedPort(REDIS_PORT);\n\n // 在这里写你的测试代码,使用 redisHost 和 redisPort 连接到 Redis 容器\n }\n}\n\n\n在上面的示例中,我们使用 GenericContainer 类来启动一个 Redis 容器。通过调用 withExposedPorts 方法,我们将容器的 6379 端口映射到主机的一个随机端口上。然后,我们可以通过 getContainerIpAddress 方法获取容器的 IP 地址,并通过 getMappedPort 方法获取映射到主机的端口。\n\n在测试方法中,你可以使用 redisHost 和 redisPort 连接到 Redis 容器。这样,你就可以在测试中使用内置的 Docker 环境。
原文地址: https://www.cveoy.top/t/topic/pJ99 著作权归作者所有。请勿转载和采集!