spring mvc/springboot使用MockMvc对控制器进行测试

  

网上基本都是参考官方的使用方式,使用了进口静态,个人感觉这种方式特别不好,代码提示性不友好。所以在此进行说明,也方便自己以后使用。

  

1。引入spring测试相关jar包,springboot只需引入spring-boot-starter-test即可

        & lt; dependency>   & lt; groupId> org.springframework.boot   & lt; artifactId> spring-boot-starter-test   & lt; scope> test   & lt;/dependency>      

2。写好控制器,开始写测试类
  

        进口org.front.server.Application;   进口org.front.server.web.control.TestController;   进口org.hamcrest.Matchers;   进口org.junit.Before;   进口org.junit.Test;   进口org.junit.runner.RunWith;   进口org.springframework.beans.factory.annotation.Autowired;   进口org.springframework.boot.test.SpringApplicationConfiguration;   进口org.springframework.http.MediaType;   进口org.springframework.test.context.junit4.SpringJUnit4ClassRunner;   进口org.springframework.test.context.web.WebAppConfiguration;   进口org.springframework.test.web.servlet.MockMvc;   进口org.springframework.test.web.servlet.request.MockMvcRequestBuilders;   进口org.springframework.test.web.servlet.result.MockMvcResultHandlers;   进口org.springframework.test.web.servlet.result.MockMvcResultMatchers;   进口org.springframework.test.web.servlet.setup.MockMvcBuilders;   进口org.springframework.web.context.WebApplicationContext;//网上很多会在这里使用进口静态,主要导入的是MockMvcRequestBuilders, MockMvcResultMatchers,匹配器这三个类中的方法。/* *   * @author zz   * @date 2017年7月4日   *   */@RunWith (SpringJUnit4ClassRunner.class)//@SpringApplicationConfiguration(类=MockServletContext.class)//这个测试单个控制器,不建议使用   @SpringApplicationConfiguration(类=Application.class)//这里的应用是springboot的启动类名。   @WebAppConfiguration   公开课ApplicationTests {   @ autowired   私人WebApplicationContext上下文;   私人MockMvc mvc;      @Before   公共空间设置()抛出异常{//mvc=MockMvcBuilders。standaloneSetup(新TestController ()) .build ();   mvc=MockMvcBuilders.webAppContextSetup(上下文).build();//建议使用这种   }   @Test   公共空间test1()抛出异常{   mvc.perform (MockMvcRequestBuilders.get(“/数据/getMarkers”)   .contentType (MediaType.APPLICATION_JSON_UTF8)   .param(“纬度”、“123.123”)。参数(“朗”、“456.456”)   .accept (MediaType.APPLICATION_JSON))   .isOk .andExpect (MockMvcResultMatchers.status () ())   .andDo (MockMvcResultHandlers.print ())   .andExpect (MockMvcResultMatchers.content () .string (Matchers.containsString(“成功”)));      }   }      

相信这样,基本开发过javaweb的就都能看懂了。通过方法的字面意思应该都能看懂方法含义,如果实在不懂请看源码或者官方API。

  

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

spring mvc/springboot使用MockMvc对控制器进行测试