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