yapi的断言是基于nodejs语法。
nodejs官方语法解释大全:https://nodejs.org/dist/latest-v8.x/docs/api/assert.html
举例说明:
针对一个创建订单接口,正确出参如下:
{
"success": true,
"message": "",
"description": "",
"code": 0,
"data": {
"orderSn": "LF30xxxxxxxxxxxxx",
"children": [
"LF30xxxxxxxxxxx"
]
}
}
那么,我们可以实现如下断言:
外层合集:将所有接口通用断言放在外层,避免每条case重复撰写。
单条case:写入该条case对应的具体业务断言。注意:一定要选择开启。
yapi操作痛点: 一定记得点击右上角“更新“,才会保存当下更改。
常用断言参考合集:
位置类型表达式说明外层合集接口断言assert.equal(status, 200)Httpcode = 200单条case接口断言assert.equal(body.code, 0)接口返回code = 0单条case接口断言assert.equal(body.success, true)接口返回success = true单条case业务断言1assert.notDeepEqual(body.data, {})接口返回的body.data 不为空单条case业务断言2assert.notDeepEqual(body.data.orderSn, "")body.data.orderSn 不是空string ""单条case业务断言3assert.notDeepEqual(body.data.children, [])body.data.children 不是 空dict[]单条case业务断言4assert.equal(body.data.status, 2)body.data.status = 2单条case业务断言5
var rsp = JSON.stringify(body.data.orderSn)
assert.notEqual(rsp.toUpperCase().indexOf('LF') , -1)
body.data.orderSn必须是含有LF