You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用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.MockMvc
  • org.springframework.test.web.servlet.request.MockMvcRequestBuilders
  • org.springframework.http.MediaType
  • org.springframework.test.web.servlet.result.MockMvcResultMatchers.status

同时检查项目依赖是否包含spring-test模块,且版本与Spring Web模块保持一致。

内容的提问来源于stack exchange,提问作者Florian Eppe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 02:09:50