atest v0.0.18 提供了強大、靈活的 HTTP API Mock 功能
atest
釋出 v0.0.18
atest
是致力於幫助開發者持續保持高質量 API 的開源介面工具。
你可以在命令列終端或者容器中啟動:
docker run -p 8080:8080 ghcr.io/linuxsuren/api-testing:v0.0.18
亮點
- 在開源之夏 2024 中
atest
增加了基於 MySQL 的測試用例歷史的支援 - HTTP API Mock 功能的支援
在系統和平臺的開發過程中,我們通常會採用前後端分離的開發模式。在後端 API 尚未開發完成、穩定化,並且未部署到公共整合測試環境之前,前端開發者往往需要透過硬編碼資料來推進頁面開發。待後端開發完成後,會進入所謂的 “聯調” 階段,這時可能會遇到以下問題:
- 前端可能需要調整資料結構、頁面佈局和邏輯,並重新進行測試
- 在實際檢視頁面後,可能會發現後端的資料結構和 API 的請求與響應需要調整
在最壞的情況下,前後端的聯調可能會耗費遠超預期的時間。為了更有效地解決這一問題,atest
提供了 HTTP API Mock 功能。
在設計評審階段,我們可以根據 API 設計提供相應的 Mock 服務配置,從而快速模擬後端 API 的響應資料。例如:
objects:
- name: users
sample: |
{
"name": "LinuxSuRen",
"age": 18
"gender": "male"
}
proxies:
- path: /api/v1/projects/{projectID}
target: http://localhost:8080
把上面的內容放到 mock.yaml
檔案中,然後使用 atest mock --prefix /api/v1 --port 6060 mock.yaml
命令即可啟動一個 HTTP Mock 服務。
此時,Mock 服務就會把代理模組指定的 API 轉發到已有服務的的介面上,並同時提供了 users
物件的增刪查改(CRUD)的標準 API。你可以用 atest
或者 curl
命令來呼叫這些 API。
curl -X POST -d '{"name": "Rick"}' http://localhost:6060/api/v1/users
curl -X GET http://localhost:6060/api/v1/users
curl -X PUT -d '{"name": "Rick", "age": 20}' http://localhost:6060/api/v1/users/Rick
curl -X GET http://localhost:6060/api/v1/users/Rick
curl -X DELETE http://localhost:6060/api/v1/users/Rick
非常期待 atest
可以幫助更多的專案持續提升、保持 API 穩定性。
🚀 主要的新功能
- Mock 功能的增強,包含物件、原始、代理三種模式 (#552) @LinuxSuRen
- 支援重新命名測試用例、測試集 (#550) @LinuxSuRen
- 支援給定頻率下重複執行測試用例 (#548) @LinuxSuRen
- 下載外掛檔案時顯示進度資訊 (#544) @LinuxSuRen
- 支援生成隨機圖片並上傳 (#541) @LinuxSuRen
- 支援上傳嵌入式檔案(基於 base64 編碼)(#538) @LinuxSuRen
- 支援匯入其他 atest 例項的用例資料 (#539) @LinuxSuRen
- UI 上顯示響應體的大小 (#536) @LinuxSuRen
- 增加基於 MySQL 位儲存的測試用例執行歷史記錄 (#524) @SamYSF
- 支援設定外掛下載的 “字首” 資訊 (#532) @SamYSF
- 最佳化儲存外掛管理介面 (#518) @LinuxSuRen
- 在 UI 上增加快捷鍵支援 (#510) @LinuxSuRen
- 重構 API 風格為 restFul (#497) @LinuxSuRen
- 增加 Mock 配置的 JSON schema (#499) @LinuxSuRen
- 增加了對 JSON 相容性的響應格式的支援 (#496) @LinuxSuRen
🐛 缺陷修復
- 修復測試用例重複時被覆蓋的問題 (#531) @LinuxSuRen
致謝
本次版本釋出,包含了以下 3 位 contributor 的努力:
- @LinuxSuRen
- @SamYSF
- @yuluo-yx
相關資料
下面是 atest
截止到 v0.0.18
的部分資料:
- watch 9
- fork 50
- star 249 (+40)
- contributor 25 (+1)
- 二進位制檔案下載量 6.3k (+3.2k)
- 部分映象 6.4k (+0.9k)
- 單元測試覆蓋率 76% (+2%)
想了解完整資訊的話,請訪問 https://github.com/LinuxSuRen/api-testing/releases/tag/v0.0.18
相關文章
- 開源推薦,靈活多變功能強大的CMDB
- 課時18:函式:靈活即強大函式
- LiveCharts2:簡單靈活互動式且功能強大的.NET圖表庫Echarts
- 強大靈活的檔案上傳庫:FilePond 詳解
- 靈活的API查詢語言——GraphQLAPI
- 創業者需要的品質:靈活!靈活!靈活創業
- [Android開源]:EasyGuideLayer: 這可能是最簡單、靈活、強大的頁面蒙層元件了!AndroidGUIIDE元件
- .NET 開源的功能強大的人臉識別 APIAPI
- .NET 高效靈活的API速率限制解決方案API
- 提供一個Glide靈活載入圓角圖片的方法IDE
- Spark——為資料分析處理提供更為靈活的賦能Spark
- 使用Spring Boot和GraphQL構建靈活的API服務Spring BootAPI
- Eclipse的編輯功能非常強大,掌握了Eclipse快捷鍵Eclipse
- HttpSender OkHttp+RxJava超好用、功能超級強大的Http請求框架HTTPRxJava框架
- Android MOCK HTTP 介面新方式AndroidMockHTTP
- Fiddler的靈活使用
- 提供車輛出險報告查詢功能的API介面API
- Spring Aop中解析spel表示式,實現更靈活的功能Spring
- HTTP 100、101、102和103的強大功能 - httptoolkitHTTP
- Dopamine - 靈活、可重複的強化學習研究新框架強化學習框架
- Asp.NET Web API 2系列(二):靈活多樣的路由配置ASP.NETWebAPI路由
- 好用到爆!IDEA版Postman面世了,功能真心強大!IdeaPostman
- API閘道器為K8s容器應用叢集提供強大的接入能力APIK8S
- Chrome的強大搜尋功能Chrome
- 陣列的靈活使用陣列
- 哪些報表工具提供了移動端功能?
- 功能強大的輪播器-SBCycleScrollViewView
- 強大的Flutter App升級功能FlutterAPP
- 比@EnableMongoAuditing功能強大的實現Go
- API閘道器控制靈活,支援細粒度許可權控制API
- 快速上手Vue Router和組合式API:建立靈活可定製的佈局VueAPI
- SimpleFlatMapper是一款微型但靈活強大的開源資料庫記錄行對映框架APP資料庫框架
- toapi:抓取任意網頁內容並提供 HTTP API獲取資料API網頁HTTP
- 智聯招聘:新型靈活就業職位提供的工資水平基本在6000元以上就業
- 有了這個雲端Mock功能,你的簡歷起碼提升30分!Mock
- Laravel 靈活使用 中介軟體, 自定義全域性 API JSON 返回格式LaravelAPIJSON
- 教你更優雅地寫 API 之「靈活地任務排程」API
- 功能強大的網路管理軟體