使用 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
我想在响应数组下的每个项目中添加一个关于包含 '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