空手道 - 如何导入 json 数据

ehs*_*adi 3 json unit-testing karate

我想将一些 JSON 数据导入到我的测试中。
为了记录我应该这样做:

* def data = read('classpath:init/data.json')
Run Code Online (Sandbox Code Playgroud)

我已经使用以下内容创建了我的 JSON 文件:

{
    "name": "ehsan"
}
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

  Background:
    * def data = call read('classpath:init/data.json')

  Scenario:
    * print data
Run Code Online (Sandbox Code Playgroud)

但它什么也没打印并说:

16:11:30.898 [main] WARN com.intuit.karate - not a js function or feature file: read('classpath:init/data.json') - [type: JSON, value: com.jayway.jsonpath.internal.JsonContext@7d61eccf]
Run Code Online (Sandbox Code Playgroud)

Hom*_*ian 7

下面的代码是正确的:

* def data = read('classpath:init/data.json')
Run Code Online (Sandbox Code Playgroud)

只有你必须删除 [call]


Pet*_*mas 6

是的,请仔细阅读错误消息(和文档) - “调用”JSON 文件没有任何意义,当您read调用它时 - 您已经拥有了可重用的数据。只需这样做:

Background:
    * def data = read('classpath:init/data.json')

  Scenario:
    * print data
Run Code Online (Sandbox Code Playgroud)