我正在使用MockMVC测试todo Controller :

            mockMvc.perform(MockMvcRequestBuilders.get("/toDos/")
                    .with(user("user").password("password").roles("ADMIN"))
                    .content("{ \"saved_date\": \"2010-01-01\"}")
                    .accept(MediaType.APPLICATION_JSON_VALUE))
                    .andExpect((ResultMatcher) jsonPath("$.id").doesNotExist())
                    .andExpect(status().isOk())
                    .andExpect( content().contentType("application/json"));
        }

我不断收到此错误:
java.lang.ClassCastException: org.springframework.test.web.client.match.JsonPathRequestMatchers$5 cannot be cast to org.springframework.test.web.servlet.ResultMatcher

我想删除对(ResultMatcher)的强制转换,但是不知道如何创建一个测试Id的ResultMatcher。有任何想法吗 ?

最佳答案

我想您要使用:

org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath

... 代替:
org.springframework.test.web.client.match.MockMvcResultMatchers.jsonPath

关于spring - 使用MockMVC将JsonPathRequestMatchers转换为ResultMatcher,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44719251/

10-10 17:18