我发现 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 响应。因此它的大小、值和顺序会有所不同。
将
contains
替换为 contains any
* match statusEnum contains any actualStatus