一、引入测试依赖包java
二、编写测试类(GET请求)git
@RunWith(SpringRunner.class) @SpringBootTest public class UserControllerTest { @Autowired private WebApplicationContext wac; private MockMvc mockMvc; @Before public void setup(){ //让每一个测试用例启动以前都构建这样一个启动项 mockMvc = MockMvcBuilders.webAppContextSetup(wac).build(); } @Test public void whenQueryUserAll() throws Exception{ //MockMvcRequestBuilders构建GET请求 mockMvc.perform(MockMvcRequestBuilders.get("/user") //请求参数 .param("token", "asfsafqfEQFFA$@%%4") //请求编码和数据格式为json和UTF8 .contentType(MediaType.APPLICATION_JSON_UTF8)) //指望的返回值 或者返回状态码 .andExpect(MockMvcResultMatchers.status().isOk()); //指望获取返回值的具体 什么参数 或者具体某个字段的值 具体在GitHub 搜jsonPath 什么参数的什么value //.andExpect(MockMvcResultMatchers.jsonPath("$.User.userName").value("zyy")); } }
https://github.com/json-path/JsonPathgithub
三、编写测试类(POST请求)web
@RunWith(SpringRunner.class) @SpringBootTest public class UserControllerTest { @Autowired private WebApplicationContext wac; private MockMvc mockMvc; @Before public void setup(){ //让每一个测试用例启动以前都构建这样一个启动项 mockMvc = MockMvcBuilders.webAppContextSetup(wac).build(); } @Test public void greatUserWhithDetailView() throws Exception{ String content = "{\"userName\":\"二十岁之后\",\"passWord\":null,\"id\":88}"; //MockMvcRequestBuilders构建GET请求 String result = mockMvc.perform(MockMvcRequestBuilders.post("/user") //请求编码和数据格式为json和UTF8 .contentType(MediaType.APPLICATION_JSON_UTF8) //请求的参数,为json的格式 .content(content)) //指望的返回值 或者返回状态码 .andExpect(MockMvcResultMatchers.status().is5xxServerError()) //返回请求的字符串信息 .andReturn().getResponse().getContentAsString(); System.out.println(result); } }