如今,咱們每一個人都面臨着 REST API,要麼開發這樣的服務,要麼使用這樣的服務。 此外,咱們正處於微服務的時尚時代,咱們將業務邏輯分割成獨立於每一個服務的小型獨立服務。 這些服務大多遵循 RESTful 原則,並使用 JSON 格式進行通訊,因爲其簡單性,JSON 格式成爲最普遍使用的格式。程序員
pyhttptest
命令行工具,用於經過 RESTful api 進行 HTTP 測試。json
這個工具經過簡單的三個步驟自動化測試api
pip install pyhttptest複製代碼
{
"name": "TEST: Get server status",
"verb": "GET",
"endpoint": "/get",
"host": "https://httpbin.org",
"headers": {
"Accept-Language": "en-US"
}
}
複製代碼
---服務器
{
"name": "TEST: Create an HTML bin",
"verb": "POST",
"endpoint": "post",
"host": "https://httpbin.org",
"payload": {
"content": "Hello, world!"
}
}
複製代碼
[
{
"name": "TEST: List all users",
"verb": "GET",
"endpoint": "api/v1/users",
"host": "http://localhost:8085/",
"headers": {
"Accept-Language": "en-US"
},
"query_string": {
"limit": 1
}
},
{
"name": "TEST: Add a new user",
"verb": "POST",
"endpoint": "api/v1/users",
"host": "http://localhost:8085/",
"payload": {
"username": "pyhttptest",
"email": "admin@pyhttptest.com"
}
},
{
"name": "TEST: Modify an existing user",
"verb": "PUT",
"endpoint": "api/v1/users/XeEsscGqweEttXsgY",
"host": "http://localhost:8085/",
"payload": {
"username": "pyhttptest"
}
},
{
"name": "TEST: Delete an existing user",
"verb": "DELETE",
"endpoint": "api/v1/users/XeEsscGqweEttXsgY",
"host": "http://localhost:8085/"
}
]複製代碼
pyhttptest execute data/filename.json複製代碼
您可能會想到一個問題,如何將測試用例添加、結構和組織到我現有的 / 新的項目中。 每一個 Python 項目,其中有測試包含在他的項目目錄一個文件夾即tests/。框架
從這個目錄按慣例,偉大的框架,如unittest and 及pytest發現並執行 Python 腳本中定義的測試用例。 爲了避免搞亂這些測試並打破常規,我建議在您的項目根目錄中建立一個名爲live_tests/ 。微服務
在新目錄中,能夠將全部json文件,定義了 API 測試用例的文件。 經過這樣作,您的測試將很容易區分。工具
若是你感興趣能夠關注公衆號「chasays」- 程序員匯聚地
post