我有以下验证,我必须检查返回的正文是否包含"id": 6354的字符串,但它会解释特殊字符的斜线。如何验证包含双引号的字符串?

代码

import static org.hamcrest.Matchers.containsString;
import com.jayway.restassured.response.Response;


    response.then()
            .body(containsString("\"id\": 6354"));

错误
Response body doesn't match expectation.
Expected: a string containing "\"id\": 6354"
  Actual: {...,"id": 6354, ...}

最佳答案

Hamcrest containsString似乎在输出错误消息中打印转义的字符,但是在进行匹配时似乎正确地转义了它们。

在我的示例中,我错误地添加了一个空格,因此按照问题中的示例进行操作:"id": 6354将给出错误Expected: a string containing "\"id\": 6354",但是当我将其更改为"id":6354"时,它通过了断言。

关于java - 带斜杠的Hamcrest匹配器被解释为验证的一部分,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32139002/

10-10 04:53