如今,咱们每一个人都面临着 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