一、前言
使用mockito测试框架可以方便的进行web测试
二、用法实例
package com.ray.weixin.qy.controller; import com.ray.weixin.qy.ApplicationTests; import lombok.extern.slf4j.Slf4j; import org.junit.Test; import org.springframework.http.MediaType; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; /** * @author : shira * @date : 2018/7/8 * @time : 15:03 * @desc : **/ @Slf4j public class UserControllerTest extends ApplicationTests { /** * 1.新增用户信息 * @throws Exception */ @Test public void testCreate() throws Exception { String content = "{\n" + "\"userid\":\"sunwukong\",\n" + "\"name\":\"孙悟空\",\n" + "\"department\":[2],\n" + "\"position\":\"总经理\",\n" + "\"mobile\":\"17636763734\",\n" + "\"gender\":\"0\",\n" + "\"email\":\"17636763734@qq.com\"\n" + "\n" + "\n" + "}"; String result = mockMvc.perform( post("/user") .content(content) .contentType(MediaType.APPLICATION_JSON_UTF8)) .andExpect(status().isOk()) .andExpect(jsonPath("$.status").value(0)) .andReturn().getResponse().getContentAsString(); log.info(result); } /** * 2.删除用户信息 * @throws Exception */ @Test public void testDelete() throws Exception { String userId="sunwukong"; String result = mockMvc.perform( delete("/user") .param("userId", userId) .contentType(MediaType.APPLICATION_JSON_UTF8)) .andExpect(status().isOk()) .andExpect(jsonPath("$.status").value(0)) .andReturn().getResponse().getContentAsString(); log.info(result); } /** * 3.修改用户信息 * @throws Exception */ @Test public void testUpdate() throws Exception { String content = "{\n" + "\"userid\":\"sunwukong\",\n" + "\"name\":\"孙悟空\",\n" + "\"department\":[2],\n" + "\"position\":\"总经理\",\n" + "\"mobile\":\"17636763734\",\n" + "\"gender\":\"0\",\n" + "\"email\":\"17636763734@qq.com\"\n" + "\n" + "\n" + "}"; String result = mockMvc.perform( put("/user") .content(content) .contentType(MediaType.APPLICATION_JSON_UTF8)) .andExpect(status().isOk()) .andExpect(jsonPath("$.status").value(0)) .andReturn().getResponse().getContentAsString(); log.info(result); } /** * 4.获取用户信息 * @throws Exception */ @Test public void testGet() throws Exception { String userId="sunwukong"; String result = mockMvc.perform( get("/user") .param("userid", userId) .contentType(MediaType.APPLICATION_JSON_UTF8)) .andExpect(status().isOk()) //.andExpect(jsonPath("$.length()").value(3)) .andExpect(jsonPath("$.status").value(0)) .andReturn().getResponse().getContentAsString(); log.info(result); } }
三、用法详解