成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

利用guardian為你的api應用寫測試

JellyBool / 494人閱讀

摘要:要寫出一個健壯的程序必須要有測試,測試可以保證上線的代碼功能符合預期,防止上線后出現莫須有的損失。根據這樣的想法,于是編寫了一個測試框架。的使用非常簡單,你只需要把你的測試案例信息寫成固定的格式,包括請求信息,預期響應信息,預期的數據信息。

要寫出一個健壯的程序必須要有測試,測試可以保證上線的代碼功能符合預期,防止上線后出現莫須有的損失。對于我們一口氣寫完的api,匆忙上線往往會導致很糟糕的后果。

那么怎么去寫測試來保證我們的api上線后是沒問題且符合預期的呢?一個后臺工程師為了不背鍋,如何去需要保證自己的工作完成得沒問題呢?

注意:我們這里討論的是api符合預期,對于客戶端ui顯示,不在我們討論范圍內。

我覺得要做好api測試,至少有以下三點:

測試案例的返回結果符合預期

測試案例覆蓋了所有代碼條件

測試案例的結果數據符合預期

簡單的說就是,充分理解業(yè)務的情況下,編寫出完整的測試案例集,然后通過測試案例集驗證了返回結果以及存儲數據的準確性。這就是保證api正確的核心。

根據這樣的想法,于是編寫了一個測試框架 Guardian。Guardian 的使用非常簡單,你只需要把你的測試案例信息寫成固定的json格式,包括請求信息,預期響應信息,預期的數據信息。然后運行命令,guardian 就會幫你跑完所有測試案例,并驗證最終的結果返回輸出到終端中。

使用如這個例子:

guardian --tests=./example/tests/entrance.json

SUIT:  users
=================================================
獲取用戶                                    Ok
-------------------------------------------------
響應比對                                    ??
數據比對                                    ??
=================================================
修改用戶                                    Ok
-------------------------------------------------
響應比對                                    ??
數據比對                                    ??
=================================================

Ok

SUIT:  orders
=================================================
獲取訂單                                    Ok
-------------------------------------------------
響應比對                                    ??
數據比對                                    ??
=================================================
創(chuàng)建訂單                                    Ok
-------------------------------------------------
響應比對                                    ??
數據比對                                    ??
=================================================

Ok
json文件格式 入口文件
選項名 子選項名 描述 格式 是否必須 例子
database port 端口 字符串 3306
user 用戶 字符串 root
password 密碼 字符串 root
charset 字符集 字符串 utf8
host 地址 字符串 127.0.0.1
database 數據庫名 字符串 guardian
tables 案例集 對象 {
"users": [ "users/get.json", "users/post.json" ],
"orders": ["orders/get.json","orders/post.json"]
}
vars 全局變量 對象 { "host": "http://127.0.0.1:1235" }
debug 設置為true則會
打印所有返回結果
與數據庫查詢結果
布爾 false
測試案例
選項名 子選項名 描述 格式 是否必須 例子
info title 標題 字符串 這是一個標題
description 描述 字符串 這是一個描述
concurrent 并發(fā)數 整數 1
request url url 字符串 {{host}}/user
method 方法有:json, get, post, delete, options, formget, formpost 字符串 get
params 參數 對象或數組 {"id": 1}
header 頭部 對象 {"token": "1231313"}
response body 返回body數據,對象中可以有
通配符,如"*",表示不匹配
字符串或對象 123
header 頭部 對象 {"token": "1231313"}
data 驗證數據 數組 [
{
"sql": "select name from user where id = 1",
"result": [{"name": "jack"}]
}
]

具體可以參考:

入口json

測試案例json

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉載請注明本文地址:http://m.hztianpu.com/yun/8864.html

相關文章

  • api測試框架 Guardian

    摘要:項目地址測試有幾個方面,一個是的響應,一個是持久數據庫與內存數據庫數據的準確性。為了方便測試驅動開發(fā),于是寫了一個這個測試框架?,F在還在持續(xù)改進開發(fā)中,歡迎,歡迎提意見 項目地址:https://github.com/chenhg5/gu... 測試api有幾個方面,一個是api的響應,一個是持久數據庫與內存數據庫數據的準確性。編寫測試代碼是很繁瑣的,現在先進的測試方式就是表格測試,即...

    Hancock_Xu 評論0 收藏0
  • 云計算加速變革企業(yè)IT

    摘要:在基礎設施方面,向公共云轉移的好處是顯而易見的更好地利用基礎設施投資,結束企業(yè)周期性硬件需求的詛咒。正如的例子所示,為了有效地遷移到云平臺,企業(yè)需要進行文化變革,然后通過接受云計算來加速變革。通過將工作負載從私有數據中心轉移到公共云中,云計算不是解決的技術問題。正如云計算專家Bernard Golden所說,組織真正利用云計算需要的是對其IT方法進行全面反思。然而即使這個聲明雖然可能很大膽,...

    趙連江 評論0 收藏0
  • Celer Network 鏈下加密經濟機制

    摘要:原文地址加密經濟機制原則現有的鏈下解決方案的加密經濟機制,通常會遭受到一些批評。狀態(tài)守護網絡代幣的另一個重要的價值體現在,通過創(chuàng)新的保險模型和簡單的交互,實現高效的流動性效率和安全的去中心化的可用的監(jiān)護。 原文地址:https://medium.com/@CelerNetw... 加密經濟機制原則 現有的鏈下解決方案的加密經濟機制,通常會遭受到一些批評。因為這些項目發(fā)行的代幣除了充當支...

    騫諱護 評論0 收藏0
  • [譯] Elixir、Phoenix、Absinthe、GraphQL、React 和 Apollo

    摘要:對于每個案例,我們插入所需要的測試數據,調用需要測試的函數并對結果作出斷言。我們將這個套接字和用戶返回以供我們其他的測試使用。 原文地址:Elixir, Phoenix, Absinthe, GraphQL, React, and Apollo: an absurdly deep dive - Part 2 原文作者:Zach Schneider 譯文出自:掘金翻譯計劃 本文永久鏈接:gi...

    Cympros 評論0 收藏0
  • 《java 8 實戰(zhàn)》讀書筆記 -第八章 重構、測試和調試

    摘要:通常,這種模式是通過定義一個代表處理對象的抽象類來實現的,在抽象類中會定義一個字段來記錄后續(xù)對象。工廠模式使用表達式第章中,我們已經知道可以像引用方法一樣引用構造函數。 一、為改善可讀性和靈活性重構代碼 1.改善代碼的可讀性 Java 8的新特性也可以幫助提升代碼的可讀性: 使用Java 8,你可以減少冗長的代碼,讓代碼更易于理解 通過方法引用和Stream API,你的代碼會變得更...

    gclove 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<