空手道API:显示JSON解析错误,而不是返回错误的HTTP代码

时间:2017-12-07 16:28:30

标签: karate

给出以下步骤列表

Given path 'verify'
And header x-api-key = apiKey
And header tenant-id = tenantId
And request a_json_object_with_invalid_user_id_to_verify
When method put
Then status 404

当端点返回HTTP 200(这是我需要修复的错误)但是有无效的json响应时,例如

{
  "score" : 
}

抛出此异常

com.jayway.jsonpath.InvalidJsonException: net.minidev.json.parser.ParseException: Unexpected character (}) at position 15.
    at com.jayway.jsonpath.spi.json.JsonSmartJsonProvider.parse(JsonSmartJsonProvider.java:64)
    at com.jayway.jsonpath.internal.JsonContext.parse(JsonContext.java:82)
    at com.jayway.jsonpath.JsonPath.parse(JsonPath.java:596)
    at com.intuit.karate.JsonUtils.toJsonDoc(JsonUtils.java:84)
    at com.intuit.karate.StepDefs.method(StepDefs.java:344)

我希望看到测试失败,因为收到预期404的错误状态代码200.我想知道在空手道中抛出这个异常是否正确?

感谢。

1 个答案:

答案 0 :(得分:1)

我因误读你的问题而道歉。

在处理格式错误的JSON响应时,空手道确实存在错误。

我们已经解决了一个问题,您应该可以很快获得补丁版本:https://github.com/intuit/karate/issues/259