Karate javascript函数未被识别为javascript代码

Karate javascript函数未被识别为javascript代码,karate,Karate,我有以下javascript文件MyService.js: function(config) { config.MyService = function(request) { return call('classpath:path/to/my.feature@tag', request); }; return config; } 我从我的karate-config.js加载这个js,以便从我的功能文件中重用它 config = karate.callSingle('

我有以下javascript文件MyService.js:

function(config) {

config.MyService = function(request) {
        return call('classpath:path/to/my.feature@tag', request);
    };

return config;
}
我从我的karate-config.js加载这个js,以便从我的功能文件中重用它

config = karate.callSingle('classpath:path/to/MyService.js', config);
它按预期工作,我可以从任何功能文件调用my.feature。例如:

Given def res = call MyService myRequest
当我尝试向MyService.js函数添加新级别时,问题出现了:

function(config) {

config.ApiOauthService = {
    myCall : function(request) {
        return call('classpath:path/to/my.feature@tag', request);
    }
};


return config;
}
将以下代码添加到要素文件时:

Given def myCall = call MyService.myCall myRequest
我得到以下错误:“不是js函数或功能文件”

有人知道问题出在哪里吗?有可能做我想做的事吗


谢谢

是的,在空手道0.9.3以后的版本中,我们将JS函数嵌套仅限于顶级。您可以在中找到完整的解释

因此,如果您需要JS函数“名称间距”,可以根据文档轻松实现:


如果您需要更复杂的嵌套,请切换到使用Java代码,您可以在其中嵌套任何级别的函数。

是的,在空手道0.9.3以后的版本中,我们将JS函数嵌套限制为仅顶层。您可以在中找到完整的解释

因此,如果您需要JS函数“名称间距”,可以根据文档轻松实现:

如果您需要更复杂的嵌套,请切换到使用Java代码,您可以在任何级别嵌套函数