在 E2E 測試 Mock 情境
目前E2E Mock情境: 1. API 請求與回應 Mock (未) 2. 資料庫查詢與儲存 Mock 3. 外部系統與微服務 Mock 4. 前端與後端互動 Mock (未) 5. 第三方服務(如電子郵件、簡訊、通知)Mock (未) 6. 第三方檔案服務(如 S3、FTP、雲端儲存)Mock 在 E2E 測試中,Mock 是指模擬或替代外部系統、服務或資源,確保測試環境穩定且可控。以下是 E2E 測試中常見的 Mock 情境以及應使用的 Mock 工具: E2E Mock情境 1. API 請求與回應 Mock 情境: 測試系統中的某一部分需要調用外部 API(如第三方支付、地圖服務、天氣 API),但這些 API: 可能會有費用(付費 API)。 可能會限流(API Rate Limiting)。 回應時間不可控(延遲/超時)。 測試環境中無法連接。 推薦工具:WireMock:Java Mock 服務框架,支援 HTTP/HTTPS API 模擬,並可輕鬆設定回應狀態、延遲和錯誤情況。 MockServer:Java Mock 服務工具,支援動態 API 模擬和 HTTP/HTTPS。 Karate Mock Server:內建於 Karate 框架中,快速建立 API 模擬,並支援 GraphQL、SOAP。 推薦工具: WireMock:Java Mock 服務框架,支援 HTTP/HTTPS API 模擬,並可輕鬆設定回應狀態、延遲和錯誤情況。 MockServer:Java Mock 服務工具,支援動態 API 模擬和 HTTP/HTTPS。 Karate Mock Server:內建於 Karate 框架中,快速建立 API 模擬,並支援 GraphQL、SOAP。 實務應用: 模擬第三方支付 API(成功/失敗/超時)。 模擬 Google Maps API 回傳地理位置。 模擬電子郵件服務 API(SMTP)。 2. 資料庫查詢與儲存 Mock 情境: 測試系統需進行資料庫查詢或儲存,但: 測試數據需保持固定,避免受測試影響。 資料庫伺服器負載可能影響測試穩定性。 測試期間不希望實際修改資料庫數據。 推薦工具: H2 Database:嵌入式 Java 資料庫,模擬 MySQL、Po...