我有以下验证,我必须检查返回的正文是否包含"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/