0

我正在尝试在 Postman 中使用外部引用并使用 tv4 进行验证。这是我的代码:

  var schema = tv4.getSchema('https://schema.getpostman.com/json/collection/v1/');
  console.log(tv4.validate(responseBody, schema);

测试后我得到

'TypeError 无法读取未定义的属性'$ref''

.

这是否意味着我的架构在某种程度上无效?

4

1 回答 1

1

我知道已经晚了,但这可以帮助其他人

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);
于 2017-09-06T23:22:21.183 回答