首页 文章

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

提问于
浏览
1

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

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

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

1 回答

  • 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中捕获异常,但你应该能够弄明白 .

相关问题