Testcontainers 使用自带 Docker 环境 - 避免影响本地环境
Testcontainers 是一个用于在单元测试中使用 Docker 容器的 Java 库。默认情况下,Testcontainers 使用本地安装的 Docker 环境。\n\n如果你不想使用本机的 Docker 环境,可以使用 Testcontainers 自带的 Docker 环境。这样做的好处是可以保证测试的可重复性,并且不会影响本机的 Docker 环境。\n\n要使用 Testcontainers 自带的 Docker 环境,你需要添加以下依赖到你的项目中:\n\nxml\n<dependency>\n <groupId>org.testcontainers</groupId>\n <artifactId>testcontainers-bom</artifactId>\n <version>1.15.3</version>\n <scope>test</scope>\n</dependency>\n\n\n然后,在你的测试类中,你可以使用 @Container 注解来创建一个 Testcontainers 的 Docker 容器,例如:\n\njava\nimport org.junit.jupiter.api.Test;\nimport org.testcontainers.containers.GenericContainer;\nimport org.testcontainers.junit.jupiter.Container;\nimport org.testcontainers.junit.jupiter.Testcontainers;\n\n@Testcontainers\npublic class MyTest {\n @Container\n private static final GenericContainer<?> container = new GenericContainer<>("mysql:8.0.26")\n .withExposedPorts(3306);\n \n @Test\n void test() {\n // 在这里写你的测试逻辑\n }\n}\n\n\n在上面的示例中,我们创建了一个 MySQL 的 Docker 容器,并将其暴露的端口设置为 3306。在 test() 方法中,你可以使用容器的 IP 地址和端口来访问这个 MySQL 容器。\n\n这样,Testcontainers 就会使用自带的 Docker 环境来运行你的测试,而不是使用本机的 Docker 环境。
原文地址: https://www.cveoy.top/t/topic/pKcv 著作权归作者所有。请勿转载和采集!