postman - 如果在验证之前声明了 Object.prototype 函数,则 Postman JSON 模式验证失败
问题描述
我的邮递员集合中有一个模式验证测试,它验证响应是否符合模式。我就是这样做的。
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");
}
而且,当我运行整个集合时,我的模式验证失败。
在进行故障排除时,我遇到了 这个,这表明 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
})
推荐阅读
- kubernetes - 如何在部署配置中使用相对路径作为秘密 mountPath
- sql - 选择拥有 >1 名西班牙球员的球队
- javascript - 在我使用 tensorflow 的第一步中,模型似乎没有经过培训
- spring-boot - 无法从经理门户将战争文件部署到 Tomcat 服务器
- listview - 当 viewmodel 值发生变化时,如何更新列表视图?
- rest - 通过 Parse REST API 使用会话令牌而不是 REST API 密钥
- c# - 无法获取字段的值?
- python - 寻找预测产品类别的最佳机器学习
- mobile - 如何使状态栏在颤动中透明?
- jquery - Jquery 选择器在引导模式下不起作用(使用 codeigniter 加载表单)