如何使用 tv4 在邮递员中测试 JSON 架构


这就是

我正在尝试的,但它总是通过测试,即使结果不好。

pm.test("Schema is valid", function () {
    var data = pm.response.json();
    var schema = {
        ...
        my schema
        ...
    };
    tv4.validate(data, schema);
});

这不起作用的原因是(简而言之(Postman (tv4( 使用的底层库不再维护。今天早些时候遇到这个问题后,我找到了一个解决方案:

tv4.validate(data, schema, false, true)

后两个参数是 checkRecursive 和 banUnknownProperties。如上所示设置这两个标志可使验证按预期工作。

您可能还会发现此代码片段很有用,它通过控制台报告任何验证错误:

pm.test("Response body is valid", function() {
  var data = JSON.parse(responseBody);
  var valid = tv4.validate(data, schema, false, true);
  if (valid !== true) {
      console.log(tv4.error);
  }
  pm.expect(valid).to.be.true;
});

相关内容

  • 没有找到相关文章

最新更新