是否可以将callSingle的结果读入当前范围,类似于callonce?
通过 callonce,我们可以简单地读取该功能的结果,并将结果添加为当前范围的一部分。
即...
* callonce read('callonceVScallsingleInfo.feature')
我尝试了几种不同的方法(如果不会变得过于复杂,可以提供示例),但无法读取 callSingle 调用的结果。我发现,访问 callSingle 调用中的值的唯一方法是将结果分配给变量。
即...
* def constants = karate.callSingle('callonceVScallsingleInfo.feature')
由于我们的常量有相当多的变量(全部以 json 对象的形式返回),并且文件是在多个功能之间共享的,因此在每个值前面加上constants.xxx 前缀而不是简单地调用变量 xxx 本身会非常麻烦。
目前我们在功能文件的后台使用 callonce 方法,但随着我们添加更多功能文件,我们希望限制此文件的调用在所有调用功能文件中仅运行一次。我们可以将这些值放入配置中,但这需要我们限制哪些功能文件获得每个变量的值,因为我们对不同的功能文件集使用不同的值。