title: Spring Boot MVC Test - MockMvc is always null
body: <p>I'm trying to write my first Spring MVC test but I just cannot get Spring Boot to inject the MockMvc dependency into my test class. Here is my class:</p>
  
  <pre><code>@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());
    }
  }
  
  </code></pre>
  
  <p>I've checked with IntelliJ's debugger and can confirm that mockMvc itself is null. Thus, all the Exception message tells me is "java.lang.NullPointerException".</p>
  
  <p>I've already tried adding more general Spring Boot annotations for test classes like "@SpringBootTest" or "@RunWith(SpringRunner.class)" in case it has something to do with initializing Spring but no luck.</p>