Каратэ - Как импортировать данные json

Я хочу импортировать некоторые данные JSON в свои тесты.
Чтобы документировать, я должен сделать это следующим образом:

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

Я создал свой файл JSON с этим содержимым:

{
    "name": "ehsan"
}

Это мой код:

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

  Scenario:
    * print data

Но он ничего не печатает и говорит:

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]

person ehsan shirzadi    schedule 31.10.2017    source источник


Ответы (2)


Ниже код правильный:

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

Только вы должны удалить [позвонить]

person Homayoun Behzadian    schedule 01.11.2017

Да, внимательно прочитайте сообщение об ошибке (и документ) — нет смысла «вызывать» файл JSON, в тот момент, когда вы его read — у вас уже есть повторно используемые данные. Просто сделайте это:

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

  Scenario:
    * print data
person Peter Thomas    schedule 31.10.2017
comment
Пожалуйста, еще один вопрос в этом контексте: как импортировать все файлы javascript, которые у нас есть в проекте? - person Youness Mourtaji; 15.04.2021
comment
@YounessMourtaji, который никогда не будет поддерживаться - person Peter Thomas; 15.04.2021
comment
Итак, нам нужно импортировать каждый javascript, необходимый в переменную, чтобы использовать его? - person Youness Mourtaji; 15.04.2021
comment
@YounessMourtaji прав, иначе были бы проблемы с обслуживанием. вы всегда можете написать небольшую утилиту, которая сделает это для вашего проекта, если вы действительно хотите такого рода вещи. всего наилучшего - person Peter Thomas; 15.04.2021