schema断言

json Schema模式是一个词汇表,用于注释和验证json文档。

实际工作中,对接口返回值进行断言校验,除了常用字段的断言检测外,还需要对其他字段的类型进行检测,对返回的字段一个个写断言显然很耗时,这时候就需要一个模板,可以定义好数据类型和匹配条件,除关键参数外,其他可直接通过此模板来断言。

json schema官网:http://json-schema.org/implementations.html

环境准备

pip install jsonschema

生成jsonschema模板

首先需要有json字符串,然后借助工具将其生成json schema

工具1:网站JSON Schema Tool

工具2:apifox 

 

输入json,点击json schema即可生成。

如json

{
    "username": "string",
    "password": "string"
}

 

{
    "type": "object",
    "properties": {
        "username": {
            "type": "string"
        },
        "password": {
            "type": "string"
        }
    },
    "required": [
        "username",
        "password"
    ],
    "x-apifox-orders": [
        "username",
        "password"
    ]
}

python tests

新建python文件,输入如下代码,并运行test

可以看到通过了一条用例,这里其实是用的pytest单元测试框架。

如果把password的类型写错,则执行会出错,用例会失败。

from jsonschema.validators import validate


def test_schema():
    schema={
    "type": "object",
    "properties": {
        "username": {
            "type": "string"
        },
        "password": {
            "type": "number"
        }
    },
    "required": [
        "username",
        "password"
    ],
}
    validate(instance={"username":"eggs","password":123},schema=schema)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值