IntelliJ无法自动布线,未找到‘MockMvc’类型的Bean,但是测试是可以的

ryoqjall  于 2022-09-20  发布在  其他
关注(0)|答案(1)|浏览(375)

我很好奇我能看到这个错误(无法自动布线。未找到‘MockMvc’类型的Bean。)

这是我的代码

import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
import org.springframework.test.web.servlet.MockMvc;

import static org.hamcrest.Matchers.containsString;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;

@WebMvcTest(HomeController.class)
public class HomeControllerTest {
    @Autowired
    private MockMvc mockMvc;

    @Test
    public void testHomePage() throws Exception {
        mockMvc.perform(get("/"))
                .andExpect(status().isOk())
                .andExpect(view().name("home"))
                .andExpect(content().string(
                        containsString("Welcome to...")));
    }
}

此测试代码已成功运行。但是mock MVC显示了关于自动拖环的错误。

如何删除此错误?

请大家帮帮忙。

我使用的是IntelliJ Idea 2022.1.1(旗舰版),Java,Spring,Junit5。

谢谢

4nkexdtk

4nkexdtk1#

我在2021.3.1(旗舰版)版本中也遇到了同样的编辑错误。您可以忽略该特定的错误点,添加@SuppressWarings标记:

@SuppressWarnings("SpringJavaInjectionPointsAutowiringInspection")
@Autowired
private MockMvc mockMvc;

这也可以在编辑器的帮助下生成:右键单击变量>显示上下文操作>检查‘在Spring Bean组件中不正确的注入点自动装配’选项>为字段隐藏

另一种方法是更新编辑器。目前我使用的是2022.2.2,没有检测到错误。

相关问题