Каратэ не распознает тире - PullRequest
1 голос
/ 08 октября 2019

Я написал простой макет, который проверяет, существует ли конкретный заголовок, а затем возвращает определенный ответ, основанный на этом, но каратэ не понимает тире (-) в моих заголовках, например, Client-ID выдает ошибку ReferenceError: "ID" is not defined in <eval> at line number 1но заголовок Accept работает нормально. Я передаю этот заголовок через почтальона.

enter image description here

и так выглядит код

* def fun = function(){ var test = requestHeaders; for(i in test) if(test.Client-ID) return true}

enter image description here

1 Ответ

2 голосов
/ 08 октября 2019

Если у вас есть такие символы, как - часть ключа JSON, вам нужно использовать кавычки.

* def foo = { 'Content-Type': 'application/json' }
* match foo['Content-Type'] == 'application/json'

Также попробуйте, если это работает, возможно, это будет проще:

Scenario: pathMatches('/v1/headers') && karate.get("requestHeaders['Client-ID']")

И если вы проверяете значение, можно использовать headerContains(): https://github.com/intuit/karate/tree/master/karate-netty#headercontains

...