'not a callable feature or js function' 从功能文件调用 JS 函数时出错

'not a callable feature or js function' Error when calling JS function from feature file

在使用 Karate 框架进行 API 测试时,我试图从一个特征文件中调用其他方法,如下所示:

    Scenario: Scenario description
  * def util = callonce read('UtilFunctions.feature')
  * def object = 
  """
    {"_yearsOffset":-20, "_daysOffset":0}
  """
  * def customerAge = call util.getDate(object)
  * print customerAge

该方法只是 returns 一个带有 yearsOffset 和 daysOffset 的日期,如果需要可以移动日期。

当我执行它时出现以下错误:

not a callable feature or js function: [type: STRING, value: 30.03.2002]

即使日志中显示的值是正确的并且执行了要求函数执行的操作,但执行失败。

猜对了吗?我 运行 没主意了。

这里猜测一下,单纯调用函数不需要用call

* def customerAge = util.getDate(object)

call 仅当它是一个函数时才使事情更容易阅读

* def fun = function(x){ return { foo: x } }
* def customerAge = call fun 'bar'
# this will also work
# def customerAge = fun('bar')