如果您厭倦了在 RestAssured 中編寫無數行重複程式碼只是為了測試您的 API,那麼您並不孤單。 API 測試不應該像拔牙一樣困難,但讓我們面對現實吧——REST Assured 會讓這個過程變得無聊並且不必要地耗時。但如果你能把那些磨難拋在腦後呢?
在本指南中,我們將向您展示如何切換到 Keploy,這是一種更聰明的零程式碼測試 API 的方法。讓我們讓您的 API 測試更快、更輕鬆,而且,我們敢說,還很有趣!準備好升級了嗎?
REST Assured 是一個流行的 Java 函式庫,用於測試 RESTful Web 服務。它提供了用於編寫測試的領域特定語言 (DSL),使開發人員能夠有效驗證 API 的回應。具有以下功能:
與 JUnit 和 TestNG 等測試框架輕鬆整合。
支援各種 HTTP 方法(GET、POST、PUT、DELETE)。
然而,隨著 API 變得越來越複雜並且測試需求不斷增加,依賴 REST Assured 可能會變得非常痛苦。讓我們面對現實:
手動測試編寫變得重複且耗時。
測試維護是一場噩夢,尤其是當 API 不斷發展時。
覆蓋率報告 不是內建的,需要使用 Jacoco 等庫進行設定。
複雜的設定會佔用開發時間,分散工程師對核心任務的注意力。
這就是 Keploy 發揮作用的地方。 Keploy 可以自動化測試流程,減少至少 20% 的工程工作量,讓您的團隊專注於重要的事情——交付高品質的軟體。
Keploy 是一個開源工具,旨在透過擷取 API 互動並稍後重播來自動化 API 測試。它的一些主要功能包括:
自動產生資料模擬:Keploy 可以根據與微服務、資料庫等各種依賴項的互動自動產生模擬,減少手動建立模擬的需要。
低成本執行:Keploy 不需要專門的、複雜的測試環境設定。這可以減少管理並行環境的開銷,並降低與基礎設施相關的成本。
零程式碼測試:與開發人員需要手動編寫每個測試的 RestAssured 不同,Keploy 透過擷取 API 互動並自動產生測試來提供零程式碼方法。
輕鬆整合:與 CI/CD 管道和其他測試工具(如 JUnit、TestNG、GitHub Action 等)整合良好。
全面的測試覆蓋率:由於Keploy 捕捉真實世界的API 互動(包括邊緣情況),因此與RestAssured 中手動編寫的測試相比,它有助於確保更廣泛、更現實的測試覆蓋率。
我們將使用 Java 運行一個簡單的員工經理應用程序,並使用 Postgres 作為本指南的資料庫。
遷移前,先對您現有的 RestAssured 測試套件進行全面評估:
辨識現有測試案例:記錄所有現有測試案例及其功能。
注意依賴關係:辨識可能影響遷移過程的任何依賴關係。
讓我們執行測試案例並檢查一切是否正常
我們將觀察到我們所有的測試案例都已通過,並且由於我們安裝了 jacoco,我們還可以找出覆蓋率。
我們的測試套件覆蓋率約為 68%。
讓我們繼續設定 keploy 和我們的遷移流程。
安裝 Keploy:您可以依照 Keploy GitHub 儲存庫上的安裝說明來設定 Keploy。
您可以透過在終端機上執行指令 Keploy 來驗證安裝,我們應該可以看到以下輸出:
讓我們開始遷移現有的 REST Assured 測試案例。
由於我們的應用程式在連接埠 8080 上本地運行,因此我們將 RestAssured.port 配置為也在 8080 上運行,從而允許 Keploy 捕獲 API 交互並在執行 REST Assured TestSuite 時創建新的測試套件。
讓我們透過執行 mvn clean install -Dmaven.test.skip=true 為我們的應用程式建立一個 jar 檔案。
Jar 檔案準備好後,讓我們以記錄模式啟動 keploy 來擷取測試案例。現在是時候使用 docker-compose up postgres 啟動並運行我們的資料庫了:-
在新終端上,執行 keploy record -c "java -jar target/springbootapp-0.0.1-SNAPSHOT.jar": -
現在,我們已準備好一切並準備好遷移我們的測試套件。是時候運行我們現有的 REST Assured 測試套件了。此執行將允許 Keploy 擷取 API 請求和回應。
keploy 產生的每個測試案例都是 REST Assured 測試案例:-
我們已成功將 REST Assured 測試案例遷移到 keploy 測試套件。以下是此類 keploy 測試用例之一:-
因此,讓我們透過運行 - keploy test -c "java -jar target/springbootapp-0.0.1-SNAPSHOT.jar" --delay 10: -
來運行我們的 keploy 測試套件由於我們有噪音,這就是測試失敗的原因,而我們使用 keploy 獲得了約 70.5% 的覆蓋率。
從 REST Assured 遷移到 Keploy 具有多種優勢,例如零程式碼測試、即時回饋和簡化的 CI/CD 整合。透過遵循本指南中概述的步驟,您可以確保平穩過渡,同時最大限度地發揮 Keploy 的優勢來滿足您的 API 測試需求。
透過採用 Keploy,您的開發團隊可以更專注於交付高品質的軟體,同時減少工程工作量,最終提高生產力和軟體品質。
CI/CD - https://keploy.io/docs/ci-cd/jenkins/
取得雲端試用版 - https://keploy.io/docs/keploy-cloud/cloud-installation/
以上是想要從 REST Assured 遷移到 Keploy?的詳細內容。更多資訊請關注PHP中文網其他相關文章!