使用 match each contains for json 数组项断言

Using match each contains for json array items assertion

我想在响应数组下的每个项目中添加一个关于包含 'training' 的技能数组的断言。我如何使用匹配每种格式 * match each response contains { password: 'abc123' }(不使用 JsonPath 表达式)来做到这一点。由于第四个对象中缺少技能数组,我希望我的测试在下面的示例中失败。

Scenario: Test scenario

* def response =
"""
[
    {
        id: 1,
        name: "John",
        password: "abc123",
        skills :[ "training", "management"
        ]
    },
    {
        id: 2,
        name: "David",
        password: "abc123",
        skills :[ "training", "management"
        ]
    },
    {
        id: 3,
        name: "David",
        password: "abc123",
        skills :[ "training", "coding"
        ]
    },
    {
        id: 4,
        name: "David",
        password: "abc123"
    }
]
"""

给你:

* def expectedSkills = ['training']
* match each response contains { skills: '#(^expectedSkills)' }

你知道,你真的应该阅读文档。它将为您节省很多时间:) https://github.com/intuit/karate#schema-validation