使用 match 查询断言以比较 json 中的双精度值

Query for Assertion using match for comparing double values in json

我有一个用例,我在其中计算 js 中的一些值并尝试使用匹配断言这些值。用于比较的数据类型为双精度。有什么方法可以使用 match 来比较 json 中的 double 和提供的一些 delta?

目前,我已经编写了执行此比较的自定义 javascript 函数。但我更倾向于使用匹配,因为它是一种非常简洁的方法。

是的,这很简单,首先阅读:https://github.com/karatelabs/karate#self-validation-expressions

这里是一步一步的实现:

* def valid = (x, y) => Math.abs(x - y) < 0.2
* assert valid(1, 1.1)
* assert !valid(1, 1.3)

* def response = { value: 1.5 }
* match response == { value: '#? valid(_, 1)' }