【问题标题】:Match each dosent fail for non existing json path匹配不存在的 json 路径的每个剂量失败
【发布时间】:2020-03-11 14:14:18
【问题描述】:

我有 json 对象作为响应。如果我尝试使用无效路径来提取值并用 match each 断言它总是通过。

* match each karate.jsonPath(response,"$[*].non.existing.path") == ["text1"]

我在这里做错了吗?

请不要:如果我给出正确的路径并且值与'text1'不匹配,它会失败。那里绝对没有问题。仅看到无效 json 路径的问题。

【问题讨论】:

    标签: karate


    【解决方案1】:

    是的,这是设计使然。 match each 实际上是一个循环。如果项目数为零,则永远不会应用match

    如果要确保数组需要非空,请添加第二个检查。

    * def foo = [1, 2]
    * match foo == '#[_ > 0]'
    * match each foo == '#number'
    

    【讨论】:

    • 感谢您的快速回复。非常感谢您对空手道的快速回复,它总是有帮助!
    【解决方案2】:

    当我的响应有一个空数组时,我遇到了一种情况。当我将它与任何值匹配时,它就被传递了。示例:

    * match each array == '#(value)'
    

    【讨论】:

    • 感谢您让我知道您也遇到了问题。无论您将其发布为答案,您都可以简单地对我的问题添加评论
    猜你喜欢
    • 1970-01-01
    • 2020-01-03
    • 2011-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-10
    • 2020-05-17
    相关资源
    最近更新 更多