用于比较 null 与空的空手道匹配命令

Karate match command to compare null with empty

我正在调用由 2 个不同公司开发的 2 个 Web 服务

首次服务响应:{"abc":"test","xyz":""} 第二个服务响应:{"foo":"USD","xyz":null}

现在我想使用自动化来匹配两个服务的 xyz 值。但是,一项服务 returns 为空,而另一项服务 returns null。由于此测试失败。有没有办法在空手道中处理这个问题?

注意:服务响应无法更改,因为它是由 2 个不同的公司开发的。

至少有 5 种不同的方法可以做到这一点。希望这能让你思考一些想法:

* def response1 = {"abc":"test","xyz":""}
* def response2 = {"foo":"USD","xyz":null}
* if (response1.xyz == '') response1.xyz = '##string'
* match response2 contains any response1

请参阅此答案以获取更多示例: