小编ElD*_*ino的帖子

Spring Boot MVC 测试 - MockMvc 始终为空

我正在尝试编写我的第一个 Spring MVC 测试,但我无法让 Spring Boot 将 MockMvc 依赖项注入我的测试类。这是我的课:

@WebMvcTest
public class WhyWontThisWorkTest {

  private static final String myUri = "uri";
  private static final String jsonFileName = "myRequestBody.json";

  @Autowired
  private MockMvc mockMvc;

  @Test
  public void iMustBeMissingSomething() throws Exception {
    byte[] jsonFile = Files.readAllBytes(Paths.get("src/test/resources/" + jsonFileName));
    mockMvc.perform(
        MockMvcRequestBuilders.post(myUri)
            .content(jsonFile)
            .contentType(MediaType.APPLICATION_JSON))
        .andExpect(MockMvcResultMatchers.status().is2xxSuccessful());
  }
}

Run Code Online (Sandbox Code Playgroud)

我已经检查过 IntelliJ 的调试器,可以确认 mockMvc 本身为空。因此,所有异常消息告诉我的是“java.lang.NullPointerException”。

我已经尝试为诸如“@SpringBootTest”或“@RunWith(SpringRunner.class)”之类的测试类添加更通用的 Spring Boot 注释,以防它与初始化 Spring 有关但没有运气。

java junit spring-boot

15
推荐指数
3
解决办法
1万
查看次数

标签 统计

java ×1

junit ×1

spring-boot ×1