Mis*_*s94 2 spring spring-mvc spring-test spring-test-mvc
我想从json响应中撤消一个值,以便在我的其余测试用例中使用,这是我现在正在做的事情:
MvcResult mvcResult = super.mockMvc.perform(get("url").accept(MediaType.APPLICATION_JSON).headers(basicAuthHeaders()))
.andExpect(status().isOk())
.andExpect(jsonPath("$[0].id", is(6))).andReturn();
String responseAsString = mvcResult.getResponse().getContentAsString();
ObjectMapper objectMapper = new ObjectMapper(); // com.fasterxml.jackson.databind.ObjectMapper
MyResponse myResponse = objectMapper.readValue(responseAsString, MyResponse.class);
if(myResponse.getName().equals("name")) {
//
//
}
Run Code Online (Sandbox Code Playgroud)
我想知道是否有一种更优雅的方法可以直接从中检索值,MvcResult例如jsonPath进行匹配?
我发现用更优雅的方式JsonPath的Jayway:
MvcResult mvcResult = super.mockMvc.perform(get("url").accept(MediaType.APPLICATION_JSON).headers(basicAuthHeaders()))
.andExpect(status().isOk())
.andExpect(jsonPath("$[0].id", is(6))).andReturn();
String response = mvcResult.getResponse().getContentAsString();
Integer id = JsonPath.parse(response).read("$[0].id");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2076 次 |
| 最近记录: |