Testcontainer桌面应用简介
在本教程中,我们将探索 Testcontainers 桌面应用程序,这是一个用于运行Testcontainers的简单而强大的工具。我们将学习如何使用它来配置Docker 环境、管理容器生命周期,并深入了解我们的开发和测试模式。
Testcontainers Desktop 提供了一个最小的 UI,旨在简化 Testcontainer 配置和调试。
我们可以从官方网站免费下载Testcontainers Desktop 。要开始使用它,我们将通过创建帐户或通过 Google、GitHub 或 Docker 等第三方进行注册。
就这样!安装应用程序并登录后,我们就可以开始在开发工作流程中使用 Testcontainers Desktop:
我们应该在任务栏中看到 Testcontainers 徽标。如果我们右键单击它,我们将看到我们今天将探讨的一些关键功能:
- 使用测试容器云Use Testcontainers Cloud
- 冷冻容器关闭Freeze containers shutdown
- 定义固定端口Define fixed ports
- 与容器交互Interact with the containers
- 请参阅测试容器仪表板See Testcontainers dashboard
- 执行高级定制Perform advanced customizations
测试容器执行模式
Testcontainers Desktop 为开发人员提供了两种主要的运行测试方式:本地或在云中。值得注意的是,本地执行是默认行为。
1. 本地执行
本地执行利用我们本地的 Docker 环境。例如,让我们运行一个 JUnit 测试,该测试使用 Testcontainers 来启动 MongoDB Docker 容器:
@Testcontainers |
如果我们本地还没有 Docker 镜像,我们会看到 Docker 在日志中拉取它。之后,MongoDB 容器启动:
org.testcontainers.dockerclient.DockerClientProviderStrategy - Found Docker environment with local Npipe socket (npipe:////./pipe/docker_engine) |
此外,我们可以通过在终端中运行“ docker ps ”命令来手动检查容器是否创建。
测试容器云执行
Testcontainers Cloud 提供了一个可扩展的平台,用于在云环境中运行测试。如果我们不想在本地运行容器或者无法访问正在运行的 Docker 环境,那么这是理想的选择。
TestContainer Cloud是Testcontainers的付费功能,但我们每月最多可以免费使用300分钟。
调试测试容器
Testcontainers Desktop通过防止容器关闭、定义固定端口、自定义配置以满足我们的需求以及直接与容器交互等功能,促进了流畅的调试体验。
1. 冻结容器关闭
我们可以使用桌面应用程序来手动控制容器的生命周期。例如,我们可以使用选项“冻结容器关闭”来允许正在运行的容器即使在启动它的测试终止后也能继续运行:
如果我们启用此功能并重新运行测试,我们将收到一条通知,确认容器已被冻结。
与容器交互
有时,即使连接到数据库也是不够的,例如当我们需要更详细的调试时。在这种情况下,我们可以直接访问Docker容器本身。例如,我们可以打开一个附加到容器的终端并与其交互。
测试容器仪表板
Testcontainers Desktop 提供了一个用户友好的仪表板,其中包含我们使用的 Testcontainers 的摘要。我们可以通过从菜单中选择“打开仪表板... ”选项来访问该网页
仪表板提供了所使用的测试容器和图像的概述,以及指向资源和帐户设置的有用链接。在页面底部,我们可以看到最近的活动以及用于执行的环境。
该协作工具跨桌面和 CI 环境聚合测试数据,提供对开发和测试模式的见解。仪表板上的小部件有助于回答有关测试一致性、发布影响、流行容器映像和过时依赖项的问题。