使用内容类型为文本/纯文本的响应式匹配

时间:2018-08-16 22:41:45

标签: karate

根据文档-响应会根据响应的内容自动以JSON,XML或String对象形式提供。

对于我来说,我的回复内容类型为text / plain

My server response is
["a.b.c:must match \"(\\d{4}(0[1-9"]

这可以在我将字符串转换为响应然后进行验证(我已经转义了所有反斜杠)的情况下起作用

 * string responseString = response
 * match responseString contains '["a.b.c match \\"(\\\\d{4}(0[1-9"]'

这失败。当响应也可以作为字符串使用时,为什么会失败

* match response contains '["a.b.c match \\"(\\\\d{4}(0[1-9"]'

com.intuit.karate.exception.KarateException:路径:$ [*],实际:[“ abc匹配\”(\ d {4}(0 [1-9“]],预期值:'[” abc:必须匹配\“(\ d {4}(0 [1-9”]',原因:实际值不包含预期值

1 个答案:

答案 0 :(得分:1)

请将以下内容粘贴到新的场景中,并查看它是否可以正常工作。它应该可以帮助您解决问题:

* string response = '["a.b.c:must match \"(\\d{4}(0[1-9"]'
* match response contains '["a.b.c:must match \"(\\d{4}(0[1-9"]'
* assert response.contains('["a.b.c:must match \"(\\d{4}(0[1-9"]')