利用guardian為你的api應用寫測試
要寫出一個健壯的程式必須要有測試,測試可以保證上線的程式碼功能符合預期,防止上線後出現莫須有的損失。對於我們一口氣寫完的api,匆忙上線往往會導致很糟糕的後果。
那麼怎麼去寫測試來保證我們的api上線後是沒問題且符合預期的呢?一個後臺工程師為了不背鍋,如何去需要保證自己的工作完成得沒問題呢?
注意:我們這裡討論的是api符合預期,對於客戶端ui顯示,不在我們討論範圍內。
我覺得要做好api測試,至少有以下三點:
- 測試案例的返回結果符合預期
- 測試案例覆蓋了所有程式碼條件
- 測試案例的結果資料符合預期
簡單的說就是,充分理解業務的情況下,編寫出完整的測試案例集,然後通過測試案例集驗證了返回結果以及儲存資料的準確性。這就是保證api正確的核心。
根據這樣的想法,於是編寫了一個測試框架ofollow,noindex" target="_blank">Guardian 。Guardian 的使用非常簡單,你只需要把你的測試案例資訊寫成固定的json格式,包括請求資訊,預期響應資訊,預期的資料資訊。然後執行命令,guardian 就會幫你跑完所有測試案例,並驗證最終的結果返回輸出到終端中。
使用如這個例子:
guardian --tests=./example/tests/entrance.json SUIT:users ================================================= 獲取使用者Ok ------------------------------------------------- 響應比對✓️ 資料比對✓️ ================================================= 修改使用者Ok ------------------------------------------------- 響應比對✓️ 資料比對✓️ ================================================= Ok SUIT:orders ================================================= 獲取訂單Ok ------------------------------------------------- 響應比對✓️ 資料比對✓️ ================================================= 建立訂單Ok ------------------------------------------------- 響應比對✓️ 資料比對✓️ ================================================= Ok
關於json的配置可以參考: