# 使用 Testcontainers 运行集成测试
Testcontainers (opens new window) 是一个流行的集成测试库,旨在简化测试环境的设置和管理。它能够在隔离的 Docker 容器中运行真实服务,使得在本地和 CI/CD 流水线中创建一致的测试场景变得简单。
通过 Testcontainers,您可以使用您偏好的编程语言运行 typesense/typesense
Docker 镜像。您可以通过通用容器 API(提供完全控制和灵活性)实现这一点,或者利用预构建模块(简化容器配置和设置,节省时间和精力)。
# Java
首先,让我们使用 Gradle 或 Maven 导入依赖项。
使用 Gradle:
testImplementation "org.testcontainers:typesense:1.20.4"
或 Maven:
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>typesense</artifactId>
<version>1.20.4</version>
<scope>test</scope>
</dependency>
现在,让我们编写一个使用 TypesenseContainer
的测试,它将启动容器。然后配置 Typesense 的客户端以连接到容器。
try (
TypesenseContainer typesense = new TypesenseContainer("typesense/typesense:27.1")
) {
typesense.start();
List<Node> nodes = Collections.singletonList(
new Node("http", typesense.getHost(), typesense.getHttpPort())
);
Configuration configuration = new Configuration(nodes, Duration.ofSeconds(5), typesense.getApiKey());
Client client = new Client(configuration);
}
还支持与 JUnit 4、JUnit 5 和 Spock 测试库的集成。有关 Java 版 Testcontainers 的更多信息,请查阅文档 (opens new window)。