首页 > 解决方案 > MockMVC 实例未实例化

问题描述

我是 JUnit5 和 MockMvc 的新手,并且正在努力在完全开发的 Web 应用程序中建立测试类和控制器之间的基本通信。

UI 是基于 MVC 模式构建的 Spring Boot 应用程序。我想以一个控制器为目标来证明我的设置有效,并且我一直使用 Spring Bott Reference 中第 4.26.3 节中的 MockMVC 示例作为起点(Spring Boot Reference

当我运行我的测试代码时,我得到以下 NullPointerException。在调试模式下单步执行告诉我,当我点击this.mockMvc.perform(get("/")).andDo(print()).andExpect(status().isOk())mockMvc 实例时为空。构建 MockMvc 似乎存在问题,但没有提供任何进一步的信息。这令人费解,因为代码几乎与提供的示例相同:

@WebMvcTest([my controller class]) 
public class TestController {
  
  @Autowired
  private MockMvc mockMvc;
  
  @MockBeans for Services
    
  @Test
  public void testConfig() {}
  
  @Test
  public void testGet() throws Exception {
    this.mockMvc.perform(get("/")).andDo(print()).andExpect(status().isOk());
  }
}

我正在使用 junit jupiter 引擎的 5.7.1 版本。很抱歉,我无法发布整个 pom,因为它充满了专有信息。我也在使用 Java 8 和 Spring boot 启动测试版本 2.2.0.RELEASE。

对于我可能错过的任何建议,我将不胜感激。谢谢。

标签: javaspringspring-bootjunit5mockmvc

解决方案


推荐阅读