我正在尝试在 Postman 中使用外部引用并使用 tv4 进行验证。这是我的代码:
var schema = tv4.getSchema('https://schema.getpostman.com/json/collection/v1/');
console.log(tv4.validate(responseBody, schema);
测试后我得到
'TypeError 无法读取未定义的属性'$ref''
.
这是否意味着我的架构在某种程度上无效?
我正在尝试在 Postman 中使用外部引用并使用 tv4 进行验证。这是我的代码:
var schema = tv4.getSchema('https://schema.getpostman.com/json/collection/v1/');
console.log(tv4.validate(responseBody, schema);
测试后我得到
'TypeError 无法读取未定义的属性'$ref''
.
这是否意味着我的架构在某种程度上无效?
我知道已经晚了,但这可以帮助其他人
tv4.getSchema(name)
用于检索已加载的模式。tv4.addSchema(name, schema)
用于附加名称的新模式和模式值
阅读这篇文章,我了解到您不能在使用 Postman 的测试中发出两个请求。相反,您应该将其值存储在环境或全局变量中,并且不要使用 tv4 的函数,因为那些(我猜)是为了在您可以使用http
模块实际下载模式的环境中使用。
最后,您的示例应如下所示
var schema = JSON.parse(postman.getEnvironmentVariable('myEnvVarName'));
let valid = tv4.validate(pm.response.json(), schema, false, true);