Postman JSON 架构验证失败,如果在验证之前声明了 Object.prototype 函数

Postman JSON Schema Validation fails, if an Object.prototype function declared prior to the validation

我的邮递员集合中有一个架构验证测试,用于验证响应是否符合架构。我就是这样做的。

var schema = 
{
  
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {....
}

    pm.test("Schema Validation - TC001", function(){

    pm.response.to.have.jsonSchema(schema);
    

});

当我只执行这个脚本时,它成功地验证了响应的模式。

但是,在我的邮递员集合中,我在模式验证之前使用 Object.prototype() 声明了一个全局函数,并且我将该函数称为 _.funcABC("a", "b","c")

Object.prototype.funcABC = function (var1, var2, var3) {
   console.log("test");
}

而且,当我 运行 整个集合时,我的架构验证失败。

在进行故障排除时,我遇到了 this,这表明 Object.prototype 可能会干扰 JSONschema。

有没有办法克服 Object.prototype() 对 JSONschema 的这种干扰?到目前为止,我找不到可行的解决方案。

谢谢。

是什么阻止了你这样做:

pm.test('validate schema', function () {
    let temp = Object.prototype.function1
    delete Object.prototype.function1
    pm.expect(ajv.validate(schema_response, response)).to.true;
    Object.prototype.function1 = temp
})