开放api的假设策略
schemathesis的Python项目详细描述
图式
schemathesis是一个为开放api/swagger模式生成测试用例的工具。
主要目标是验证是否正确处理了架构允许的所有值 根据申请。
具有Hypothesis
、hypothesis_jsonschema
和pytest
的能力。
注意:库是WIP,API是一个可更改的主题。
用法
要为您的模式生成测试用例,您需要:
- 创建参数化器;
- 用
Parametrizer.parametrize
方法包装测试
fromschemathesisimportParametrizerschema=Parametrizer.from_path("path/to/schema.yaml")@schema.parametrize()deftest_users_endpoint(client,case):response=client.request(case.method,case.formatted_path,params=case.query,json=case.body)assertresponse.status_code==200
每个包装的测试都有一个表示假设测试用例的case
fixture。
案例包括:
method
formatted_path
query
body
此数据可用于验证应用程序是否以架构中描述的方式工作。
例如,可以通过requests
针对运行的应用程序容器发送数据,并检查响应
用于预期的状态代码或错误消息。