Repolode
testcontainers

testcontainers/testcontainers-java

一个用于 JUnit 测试的 Java 库,可按需启动一次性的 Docker 容器,用于数据库、Selenium 浏览器等服务。

Star
8,759
Fork
1,950
未关闭 Issue
638
最近提交
5天前

这是什么?

Testcontainers 让 Java 测试直接运行在真实的基础设施上,而不必依赖 mock。测试过程中会启动轻量的一次性 Docker 容器,可用于数据库、Selenium 浏览器或其他任何能在容器中运行的服务,测试结束后容器随即销毁。

它与 JUnit 集成,容器的生命周期可以绑定到测试类或测试方法上。项目还提供了常见数据库和服务的预置模块,任何可在 Docker 中运行的镜像也都可以用同样的方式使用。

使用前需要有可用的 Docker 环境。文档托管在 java.testcontainers.org。

核心功能

  • 01为测试按需启动一次性 Docker 容器,结束后自动清理。
  • 02与 JUnit 测试生命周期集成。
  • 03提供常见数据库和 Selenium 浏览器的现成支持。
  • 04可用于任何能在 Docker 容器中运行的服务。

适用场景

  • 用真实数据库而非内存替代品进行集成测试。
  • 在容器环境中使用 Selenium 测试基于浏览器的界面流程。
  • 为 Java 服务的测试套件启动消息中间件或其他依赖服务。

快速上手

  1. 1

    阅读文档了解安装配置说明

使用前须知

  • 需要运行中的 Docker(或兼容的容器运行时)环境才能执行测试。

收录于专题

标签

常见问题

testcontainers-java 是什么?
一个用于 JUnit 测试的 Java 库,可按需启动一次性的 Docker 容器,用于数据库、Selenium 浏览器等服务。 Testcontainers 让 Java 测试直接运行在真实的基础设施上,而不必依赖 mock。测试过程中会启动轻量的一次性 Docker 容器,可用于数据库、Selenium 浏览器或其他任何能在容器中运行的服务,测试结束后容器随即销毁。
testcontainers-java 可以免费使用吗?用的什么许可证?
testcontainers-java 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
testcontainers-java 还在维护吗?
活跃维护中。testcontainers-java 最近一次提交是在 2026年11月2日。
testcontainers-java 适合用来做什么?
用真实数据库而非内存替代品进行集成测试。 在容器环境中使用 Selenium 测试基于浏览器的界面流程。 为 Java 服务的测试套件启动消息中间件或其他依赖服务。
testcontainers-java 怎么安装和运行?
阅读文档了解安装配置说明
在哪里获取 testcontainers-java?
源代码和安装说明在 GitHub 上:https://github.com/testcontainers/testcontainers-java

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目