#rest #testing #karate
#rest #тестирование #karate
Вопрос:
У меня есть простой REST API, который позволяет размещать ресурсы в заданной конечной точке, и я хочу проверить правильность установки заголовков ответов. Я определил следующую функцию, которая вставляет группу пользователей в базу данных:
Scenario Outline: Creating a bunch of new users when the database is empty
Given header Content-Type = 'application/json'
And request __row
When method post
Then status 201
* match header Content-Type == 'application/json'
* match header Location == 'http://localhost:8080/users/' response.id
Examples:
| users |
Пользователи вставлены правильно, и в консоли я вижу следующие заголовки ответов:
1 < 201
1 < Connection: keep-alive
1 < Content-Type: application/json
1 < Date: Mon, 22 Feb 2021 14:06:31 GMT
1 < Keep-Alive: timeout=60
1 < Location: http://localhost:8080/users/user1@test.com
1 < Transfer-Encoding: chunked
Но каждый раз, когда я пытаюсь запустить этот тест, я получаю один и тот же ответ:
path: $['Content-Type'][0], actual: null, expected: 'application/json', reason: actual json-path does not exist
Комментарии:
1. не могли бы вы попробовать новую версию RC, где это должно работать лучше: github.com/intuit/karate/wiki/1.0-upgrade-guide
Ответ №1:
Работает для меня на 0.9.6
* url 'https://httpbin.org/get'
* method get
* match header Content-Type == 'application/json'
Но, как я упоминал в своем комментарии, пожалуйста, попробуйте версию 1.0 / RC: https://github.com/intuit/karate/wiki/1.0-upgrade-guide
Поскольку мы сосредотачиваем усилия на этом.
Комментарии:
1. Спасибо! Я пробовал версию 0.9.6 (в Windows), но с версией 0.9.9.RC4 все работает правильно