我编写了一个简单的模拟程序,用于检查特定的标头是否存在,然后基于该标头返回指定的响应,但是空手道无法理解标头中的破折号(-),例如Client-ID给出的错误为{{1 }},但标题Accept可以正常工作。我正在通过邮递员传递此标头。
以及代码的外观
ReferenceError: "ID" is not defined in <eval> at line number 1
答案 0 :(得分:2)
当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