Spring Boot MVC Test - 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());
}
}
我已经检查了IntelliJ的调试器,可以确认mockMvc本身是空的。因此,所有异常消息告诉我的是“java.lang.NullPointerException”。
我已经尝试过为测试类添加更多通用的Spring Boot注释,例如“@SpringBootTest”或“@RunWith(SpringRunner.class)”,以防它与初始化Spring有关但没有运气。