使用 match contains 在空手道中对 json 数组进行断言

问题描述 投票:0回答:1

我发现 match contains 断言存在潜在问题。下面是断言语句的场景

Scenario: 

 * def statusEnum = ["ACTIVE", "PENDING"] 
 * def actualStatus = ["PENDING", "PENDING", "PENDING"] 

 * match actualStatus contains statusEnum // actual array does not contain expected item - ACTIVE
 * match statusEnum contains actualStatus // FAILS actual array length is less than expected - 2:3

第一个断言语句按预期工作,但失败并出现数组不包含 ACTIVE 的错误。

第二个匹配语句由于数组大小而失败。正如空手道文档所述实际数组的大小和顺序并不重要,我希望这个声明能够通过。

这是空手道中的错误吗?

空手道文档链接 - https://github.com/karatelabs/karate?tab=readme-ov-file#json-arrays

注意:- 数组actualStatus 来自JSON 响应。因此它的大小、值和顺序会有所不同。

karate
1个回答
0
投票

contains
替换为
contains any

* match statusEnum contains any actualStatus
© www.soinside.com 2019 - 2024. All rights reserved.