在本教程中,我們將探索 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:<font>////./pipe/docker_engine)<i> |
此外,我們可以透過在終端中執行“ docker ps ”命令來手動檢查容器是否建立。
測試容器雲執行
Testcontainers Cloud 提供了一個可擴充套件的平臺,用於在雲環境中執行測試。如果我們不想在本地執行容器或者無法訪問正在執行的 Docker 環境,那麼這是理想的選擇。
TestContainer Cloud是Testcontainers的付費功能,但我們每月最多可以免費使用300分鐘。
除錯測試容器
Testcontainers Desktop透過防止容器關閉、定義固定埠、自定義配置以滿足我們的需求以及直接與容器互動等功能,促進了流暢的除錯體驗。
1. 凍結容器關閉
我們可以使用桌面應用程式來手動控制容器的生命週期。例如,我們可以使用選項“凍結容器關閉”來允許正在執行的容器即使在啟動它的測試終止後也能繼續執行:
如果我們啟用此功能並重新執行測試,我們將收到一條通知,確認容器已被凍結。
與容器互動
有時,即使連線到資料庫也是不夠的,例如當我們需要更詳細的除錯時。在這種情況下,我們可以直接訪問Docker容器本身。例如,我們可以開啟一個附加到容器的終端並與其互動。
測試容器儀表板
Testcontainers Desktop 提供了一個使用者友好的儀表板,其中包含我們使用的 Testcontainers 的摘要。我們可以透過從選單中選擇“開啟儀表板... ”選項來訪問該網頁
儀表板提供了所使用的測試容器和影像的概述,以及指向資源和帳戶設定的有用連結。在頁面底部,我們可以看到最近的活動以及用於執行的環境。
該協作工具跨桌面和 CI 環境聚合測試資料,提供對開發和測試模式的見解。儀表板上的小部件有助於回答有關測試一致性、釋出影響、流行容器映像和過時依賴項的問題。