使用MockMvc.perform测试Web应用时,.content()方法无法解析求助
解决MockMvc中
content()方法报错的问题 核心问题排查与修复
1. 语法错误:多余的逗号
你的代码中.content(someJson)后面多了一个逗号,这会导致Java编译器对perform()方法的参数解析出错,进而误报找不到content()方法。
修复后的代码:
mockMvc .perform( MockMvcRequestBuilders.post("/api/test/url") .with(httpBasic(authorizedUsername, authorizedPassword)) .header("user", id) .secure(true) .contentType(MediaType.APPLICATION_JSON) .content(someJson) // 移除此处多余的逗号 ) .andExpect(status().isCreated());
2. 潜在拼写错误
代码中auhorizedPassword拼写错误,缺少字母t,应修正为authorizedPassword,避免后续测试出现认证失败问题。
3. 确认依赖与导入正确性
确保测试类导入了正确的Spring MVC测试相关类:
org.springframework.test.web.servlet.MockMvcorg.springframework.test.web.servlet.request.MockMvcRequestBuildersorg.springframework.http.MediaTypeorg.springframework.test.web.servlet.result.MockMvcResultMatchers.status
同时检查项目依赖是否包含spring-test模块,且版本与Spring Web模块保持一致。
内容的提问来源于stack exchange,提问作者Florian Eppe
相关产品推荐
相关产品推荐

