Karate 使用match each contains for json数组项断言
我想在技能数组中添加一个断言,在响应数组下的每个项目中都包含“培训”。如何使用match-each-formatKarate 使用match each contains for json数组项断言,karate,Karate,我想在技能数组中添加一个断言,在响应数组下的每个项目中都包含“培训”。如何使用match-each-format*匹配每个包含{password:'abc123'}(不使用JsonPath表达式)的响应。我预计我的测试会失败,例如下面的例子,因为第四个对象中缺少skills数组 Scenario: Test scenario * def response = """ [ { id: 1, name: "John&q
*匹配每个包含{password:'abc123'}
(不使用JsonPath表达式)的响应。我预计我的测试会失败,例如下面的例子,因为第四个对象中缺少skills数组
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)' }
你知道,你应该认真阅读文档。它将为您节省大量时间:)是的,它正在工作。我在JsonPath表达式中使用了match each。但是遇到了一个场景,断言中使用的json数组在响应中丢失,而空手道通过了该场景。因此,即使在了解了一些情况后,也无法从中获得观点。无论如何,谢谢你的回复。你们有很好的文档。