Karate 在空手道功能中从文件读取json失败,js评估失败错误

Karate 在空手道功能中从文件读取json失败,js评估失败错误,karate,Karate,我正在使用Windows10上的版本0.9.6和OpenJDK14.0.2 我正在尝试从功能文件中的json文件读取数据。 以下代码失败: Scenario: Get the credit balance * def data = read('classpath:examples1/user_credit_balance_get.json') 我的控制台输出如下所示: Karate version: 0.9.6 =======================================

我正在使用Windows10上的版本0.9.6和OpenJDK14.0.2

我正在尝试从功能文件中的json文件读取数据。 以下代码失败:

Scenario: Get the credit balance
  * def data = read('classpath:examples1/user_credit_balance_get.json')
我的控制台输出如下所示:

Karate version: 0.9.6
======================================================
elapsed:   2.31 | threads:    1 | thread time: 0.02
features:     1 | ignored:    0 | efficiency: 0.01
scenarios:    1 | passed:     0 | failed: 1
======================================================
failed features:
features.protect_a_prospect: protect_a_prospect.feature:4 - evaluation (js) failed: read('classpath:examples1/user_credit_balance_get.json'), java.lang.RuntimeException: evaluation (js) failed: ?{
    "session_data": {
        "user_id":  "101",
        "session_id":  "dslkdaskljd",
        "token":  "02389poasklj"
    },
    "call_data":  {
        "user_id":  "101"
    }
}, javax.script.ScriptException: <eval>:2:18 Expected ; but found :
    "session_data": {
                  ^ in <eval> at line number 2 at column number 18
stack trace: jdk.scripting.nashorn/jdk.nashorn.api.scripting.NashornScriptEngine.throwAsScriptException(NashornScriptEngine.java:477)
stack trace: com.intuit.karate.ScriptBindings.eval(ScriptBindings.java:155)

com.intuit.karate.exception.KarateException: there are test failures !
        at ...(.)

这是非常令人困惑的,你说空手道模拟,但你显示了空手道测试日志。空手道不应该尝试评估
*.json
文件


我认为最好的办法是遵循这个过程:

这太让人困惑了,你说空手道模拟,然后你展示空手道测试的日志。空手道不应该尝试评估
*.json
文件


我认为最好的做法是遵循以下流程:

谢谢您的回答!事实上,我并没有说空手道模拟。你能详细说明一下吗?我对空手道和这样的测试方法相当陌生。如果我理解正确,那么功能文件是模拟的?是的,这是我打算写的一个测试的一部分,但它在应该写之前就失败了。除了测试日志之外,您还希望得到什么?谢谢你抽出时间@PatrickKlein的“空手道网”被称为API模拟。听起来您正在使用独立的JAR/ZIP发行版。我仍然不知道为什么在读取JSON文件时会出现错误——除了日志,我的答案中的链接给出了我所期望的。但是如果
readAsString
对你有用,那就用它吧谢谢你的回答!事实上,我并没有说空手道模拟。你能详细说明一下吗?我对空手道和这样的测试方法相当陌生。如果我理解正确,那么功能文件是模拟的?是的,这是我打算写的一个测试的一部分,但它在应该写之前就失败了。除了测试日志之外,您还希望得到什么?谢谢你抽出时间@PatrickKlein的“空手道网”被称为API模拟。听起来您正在使用独立的JAR/ZIP发行版。我仍然不知道为什么在读取JSON文件时会出现错误——除了日志,我的答案中的链接给出了我所期望的。但是如果
readAsString
适合你,那么就去做吧
Scenario: Get the credit balance
  * def data = karate.readAsString('classpath:examples1/user_credit_balance_get.json')