常見挑戰與問題

Testcontainers Cloud 與開源 Testcontainers 框架有何不同?

開源 Testcontainers 是一個函式庫,它提供輕量級 API,用於使用 Docker 容器包裝的真實服務來引導本地開發和測試依賴項,而 Testcontainers Cloud 則為這些容器提供雲端執行時環境。這減少了本地環境的資源壓力,並提供了更高的可擴展性,尤其是在 CI/CD 工作流程中,可以在整個組織中實現一致的 Testcontainers 體驗。

我可以使用 Testcontainers Cloud 執行哪些類型的容器?

Testcontainers Cloud 支援您通常會與 Testcontainers 框架一起使用的任何容器,包括資料庫(PostgreSQL、MySQL、MongoDB)、訊息代理(Kafka、RabbitMQ)以及整合測試所需的其他服務。

我是否需要更改現有的測試程式碼才能使用 Testcontainers Cloud?

不,您不需要更改現有的測試程式碼。Testcontainers Cloud 與開源 Testcontainers 框架無縫整合。設定好雲端設定後,它會自動管理雲端中的容器,而無需更改程式碼。

如何將 Testcontainers Cloud 整合到我的專案中?

要整合 Testcontainers Cloud,您需要安裝 Testcontainers Desktop 應用程式,並在選單中選擇「使用 Testcontainers Cloud 執行」選項。在 CI 中,您需要新增一個下載 Testcontainers Cloud 代理程式的工作流程步驟。除了透過 Testcontainers Desktop 應用程式在本地啟用雲端執行時或在 CI 中安裝 Testcontainers Cloud 代理程式之外,不需要更改程式碼。

我可以在 CI/CD 流程中使用 Testcontainers Cloud 嗎?

是的,Testcontainers Cloud 的設計可在 CI/CD 流程中有效運作。它可以將您使用 Testcontainers 函式庫啟動的容器卸載到雲端,從而減少建置時間和資源瓶頸,使其非常適合持續測試環境。

使用 Testcontainers Cloud 的好處是什麼?

主要好處包括減少本地機器和 CI 伺服器上的資源使用量、可擴展性(執行更多容器而不會降低效能)、一致的測試環境、集中式監控、簡化 CI 設定,並消除了執行 Docker-in-Docker 或特權守護行程式的安全性疑慮。

Testcontainers Cloud 是否支援所有程式語言?

Testcontainers Cloud 支援任何可與開源 Testcontainers 函式庫搭配使用的語言,包括 Java、Python、Node.js、Go 等。只要您的專案使用 Testcontainers,就可以將其卸載到 Testcontainers Cloud。

Testcontainers Cloud 如何處理容器清理?

Testcontainers 函式庫會自動處理容器生命週期管理,而 Testcontainers Cloud 則管理分配的雲端工作器生命週期。這表示 Testcontainers 函式庫會在測試完成後啟動、監控和清理容器,而這些容器執行的節點將在 Testcontainers Cloud 閒置約 35 分鐘後自動移除。這種方法讓開發人員不必手動管理容器和相關的雲端資源。

Testcontainers Cloud 是否有免費方案或計費模式?

Testcontainers Cloud 的計費詳情,請參閱計費頁面