Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
空手道-使用仅包含JSON的模式验证布尔值_Json_Karate_Assertion - Fatal编程技术网

空手道-使用仅包含JSON的模式验证布尔值

空手道-使用仅包含JSON的模式验证布尔值,json,karate,assertion,Json,Karate,Assertion,每当我尝试验证模式或使用模糊匹配验证JSON对象内响应中的布尔字段时,尽管输入了不正确的数据,它似乎总是通过 为了便于查询,让我们将重点放在使用内联模糊匹配,就像将模式存储在单独的文件中一样 功能文件: *match response.flags包含任何{unitedKingdom:'##boolean'} 答复: "flags": { "unitedKingdom": true, "spain": false, "india": true,

每当我尝试验证模式或使用模糊匹配验证JSON对象内响应中的布尔字段时,尽管输入了不正确的数据,它似乎总是通过

为了便于查询,让我们将重点放在使用内联模糊匹配,就像将模式存储在单独的文件中一样

功能文件:

*match response.flags包含任何{unitedKingdom:'##boolean'}

答复:

    "flags": {
      "unitedKingdom": true,
      "spain": false,
      "india": true,
      "japan": true
    }
}
我断言的目的是断言每个值以任何顺序返回正确的值类型。如果由于任何原因没有返回该值,或者存在比模式中定义的值更多的值,我希望测试失败。我怎样才能做到这一点

我假设use
包含任何
。但是,当我尝试匹配响应中未返回的随机值时,我收到一条成功消息。请看下面

*match response.flags包含任何{test:'##boolean'}
-测试通过。我认为这会失败。请帮助我理解为什么这是过去,我可以做什么来达到我的主张 如上所述的目的


我使用的是0.9.5.RC5

不要使用可选标记:

* def foo = { b: true }
* match foo contains { a: '#boolean' }
您正在执行此操作,即使它不存在,也会通过:

* match foo contains { a: '##boolean' }

对社区的快速反应永远不会被忽视,他们总是受到赞赏。非常感谢。