Postman里怎么断言返回的JSON字段值是否正确?
我在用Postman测试接口,想验证返回的JSON里某个字段的值是不是我预期的,但写了断言老是不生效,不知道哪里写错了。
比如接口返回的是{"status": "success", "code": 200},我想断言code等于200,试了下面这段代码,但一直报错:
pm.test("检查code是否为200", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.code).to.eql(200);
});
控制台提示“Cannot read property ‘code’ of undefined”,明明响应里有这个字段啊,是不是解析出问题了?
pm.response.json()可能返回了 undefined,导致你无法访问 code 属性。先确认下响应内容是不是真的正确解析了。建议加个调试语句缓存起来看看:
这样如果还是报错,至少你能看到完整的响应结构。我猜可能是接口偶尔返回非JSON或者网络问题导致的。记得加上异常处理,别让测试直接挂掉。
顺便说,最好把期望值和实际值都打印出来,方便排查问题。调代码这种事情,多打几个日志准没错。