我们可以在Javascript文件中使用Karate的Match功能吗?

时间:2018-04-18 10:08:21

标签: karate

我试图在Karate中编写一个通用的JS函数,它将从数据库中提取结果并将其存储在Json对象中,并将其与外部json文件进行比较。外部文件还包含模糊匹配,例如' #null'或#' #notnull'比较。

我想在JS函数本身中比较这两个对象,而不是将对象传递给被调用的空手道脚本。然而,当我尝试在JS函数中对它进行比较时,不会对Fuzzy匹配字符串进行求值。(当我将Json对象返回到空手道并使用' match'空手道功能时)它会起作用。

有什么方法可以在JS File中调用Karate的Match功能?

1 个答案:

答案 0 :(得分:0)

这实际上是一个好主意,我已经开通了一项功能请求:https://github.com/intuit/karate/issues/378

同时,如果将匹配操作移动到单独的功能中,可以这样:

Feature:
Scenario:
* def passed = false
* match actual == expected
* def passed = true

并称之为:

var result = karate.call('match.feature', { actual: { foo: 'bar' }, expected: { foo: '#string' } })
if (!result.passed) {
  // failed
}

它可能会奏效!你明白了。不确定你是否需要在上面的第一行JS中捕获异常,但你应该能够弄明白。