Karate 空手道:如果包含参数并在';独立';模式

Karate 空手道:如果包含参数并在';独立';模式,karate,Karate,当我尝试运行一个包含内置\uuu arg变量为“独立”(非“调用”)的场景时,我遇到了一个问题,然后我的测试因错误而失败(我不@忽略被调用的变量,以便在“调用”和“独立”模式下使用它): caller.feature: 将这两个特性放入骨架项目并运行mvn测试将显示错误 我希望这会起作用,因为医生说“所谓的”空手道脚本…可以在“独立”模式下像“正常”空手道测试一样运行” “被调用的”空手道脚本不需要使用任何特殊关键字“返回”数据,如果需要,可以在“独立”模式下像“正常”空手道测试一样运行 所有空

当我尝试运行一个包含内置
\uuu arg
变量为“独立”(非“调用”)的场景时,我遇到了一个问题,然后我的测试因错误而失败(我不
@忽略被调用的变量,以便在“调用”和“独立”模式下使用它):

caller.feature:

将这两个特性放入骨架项目并运行
mvn测试将显示错误

我希望这会起作用,因为医生说“所谓的”空手道脚本…可以在“独立”模式下像“正常”空手道测试一样运行”

“被调用的”空手道脚本不需要使用任何特殊关键字“返回”数据,如果需要,可以在“独立”模式下像“正常”空手道测试一样运行


所有空手道变量必须在运行时“定义”。这是一条不能放松的规则

所以你应该重新设计你的脚本。好的是,您可以使用
karate.get()
设置“默认值”


这应该能回答你的问题。

是的,这很有效!感谢您的快速响应!
evaluation (js) failed: __arg, javax.script.ScriptException: ReferenceError: "__arg" is not defined in <eval> at line number 1
stack trace: jdk.nashorn.api.scripting.NashornScriptEngine.throwAsScriptException(NashornScriptEngine.java:470)
Feature: Called + Stand-alone Scenario
  Scenario: Should not fail on __arg when run as stand-alone
    * def a = __arg
    * print a
Feature: Caller
  Scenario: call without args
    When def res = call read('called-standalone.feature')
    Then match res.a == null

  Scenario: call with args
    When def res = call read('called-standalone.feature') {some: 42}
    Then match res.a == {some: 42}

* def a = karate.get('__arg', null)