別再用 Mock 騙自己了!Testcontainers 在 CI/CD 的實戰攻略

在單元測試中,準確模擬與外部元件(如 PostgreSQL、MinIO)的互動是一大挑戰。傳統的 Mock 技術難以涵蓋資料庫操作和 S3 API 等真實行為,限制了測試的完整性。

Testcontainers 透過即時啟動輕量級容器,模擬真實環境,確保測試與正式元件一致,提升測試準確性,並幫助開發團隊更快發現問題、優化流程。

本次短講包含以下內容:

  1. 為什麼需要 Testcontainers?
  2. 銀行內資料分析團隊的測試挑戰
  3. 傳統測試方式的限制:Mock 無法完全取代真實環境
  4. Testcontainers 如何解決這些問題
  5. 在 CI/CD 流程中導入 Testcontainers 的挑戰
  6. Build Agent 內啟動 Testcontainers 的技術關卡:使用 Container 作為 Pipeline Build Agent,在 CI 測試時,Testcontainers 若需要進行 Volume Mapping,會遇到 Docker in Docker 限制。
  7. 開發者環境的資源限制:共用開發機資源有限,單元測試時無法順利啟動 Testcontainers。


聽眾收穫:

  1. 深入理解 Testcontainers:了解在單元測試中 Mock 的不足,以及 Testcontainers 如何協助提升測試可靠性。
  2. 發現並解決 CI/CD Pipeline 中導入 Testcontainers 的技術關卡。
  3. 開發環境與 Testcontainers 的整合策略:如何在開發機資源有限的情況下,依然能順利執行 Testcontainers。
陳柏妤

講者

陳柏妤

玉山銀行
資深工程師
LEVEL

中階

LANGUAGE

中文

TAGS
DevSecOps (測試要趁早)
適合聽眾
DevOps 新手 (Newbie)
IT 人員/偏維運 (IT / OPS)
IT人員/偏開發 (IT / DEV)