Есть ли способ записи в текстовый файл с использованием каратэ - PullRequest
0 голосов
/ 08 февраля 2019

В моих тестах по каратэ мне нужно было записать идентификаторы ответов в текстовые файлы (или в любой другой формат файла, например, JSON), мне было интересно, есть ли у него какая-либо возможность сделать это, я не видел другого в документации.В случае нет, есть ли простая функция JavaScript для этого?

Ответы [ 2 ]

0 голосов
/ 08 марта 2019

Мое обоснование для записи в файл другое.Я использую каратэ явно для реализации макета.Я хочу предоставить конечную точку, в которой вышестоящая система будет отправлять некоторые базовые данные через полезную нагрузку json с использованием метода POST / PUT, а karate создаст последующий файл полезной нагрузки и сохранит в нем определенную папку, а этот вновь созданный файл полезной нагрузки будет открыт через другой GET.позвоните.

0 голосов
/ 08 февраля 2019

Попробуйте karate.write(value, filename) в JavaScript.Мы сохранили это недокументированным, потому что мы не поддерживаем его.Также файл будет записан только в текущий каталог "build", который будет target для проектов Maven / автономный JAR.

value может быть любого типа данных.

Вот пример .

РЕДАКТИРОВАТЬ: для других, кто столкнется с этим ответом в будущем, будет правильным сделать следующее:

  1. не делайтеВо-первых, если вы пишете файлы, вам никогда не нужно этого делать, и этот вопрос обычно задают неопытные люди, которые по какой-то причине считают, что единственный способ «сохранить» ответ перед проверкой - это записать его в файл.Нет, пожалуйста, не тратьте свое время - и, пожалуйста, просто match против response.И не пишите свои тесты так, чтобы сценарии (или функции) зависели от других сценариев, это очень плохая практика .

  2. посмотрите, работает ли karate.write() дляВы согласно этому ответу

  3. пишете пользовательскую Java (или функцию JS, которая использует JVM), чтобы делать то, что вы хотите, используя Java-взаимодействие

...