springboot1.5.x 测试sample

  1 /**
  2  * 
  3  */
  4 package com.imooc.web.controller;
  5 
  6 import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.delete;
  7 import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.fileUpload;
  8 import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
  9 import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
 10 import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.put;
 11 import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
 12 import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
 13 
 14 import java.time.LocalDateTime;
 15 import java.time.ZoneId;
 16 import java.util.Date;
 17 
 18 import org.junit.Before;
 19 import org.junit.Test;
 20 import org.junit.runner.RunWith;
 21 import org.springframework.beans.factory.annotation.Autowired;
 22 import org.springframework.boot.test.context.SpringBootTest;
 23 import org.springframework.http.MediaType;
 24 import org.springframework.mock.web.MockMultipartFile;
 25 import org.springframework.test.context.junit4.SpringRunner;
 26 import org.springframework.test.web.servlet.MockMvc;
 27 import org.springframework.test.web.servlet.setup.MockMvcBuilders;
 28 import org.springframework.web.context.WebApplicationContext;
 29 
 30 /**
 31  * @author zhailiang
 32  *
 33  */
 34 @RunWith(SpringRunner.class)
 35 @SpringBootTest
 36 public class UserControllerTest {
 37 
 38     @Autowired
 39     private WebApplicationContext wac;
 40 
 41     private MockMvc mockMvc;
 42 
 43     @Before
 44     public void setup() {
 45         mockMvc = MockMvcBuilders.webAppContextSetup(wac).build();
 46     }
 47     
 48     @Test
 49     public void whenUploadSuccess() throws Exception {
 50         String result = mockMvc.perform(fileUpload("/file")
 51                 .file(new MockMultipartFile("file", "test.txt", "multipart/form-data", "hello upload".getBytes("UTF-8"))))
 52                 .andExpect(status().isOk())
 53                 .andReturn().getResponse().getContentAsString();
 54         System.out.println(result);
 55     }
 56     
 57 
 58     @Test
 59     public void whenQuerySuccess() throws Exception {
 60         String result = mockMvc.perform(
 61                 get("/user").param("username", "jojo").param("age", "18").param("ageTo", "60").param("xxx", "yyy")
 62                         // .param("size", "15")
 63                         // .param("page", "3")
 64                         // .param("sort", "age,desc")
 65                         .contentType(MediaType.APPLICATION_JSON_UTF8))
 66                 .andExpect(status().isOk()).andExpect(jsonPath("$.length()").value(3))
 67                 .andReturn().getResponse().getContentAsString();
 68         
 69         System.out.println(result);
 70     }
 71 
 72     @Test
 73     public void whenGetInfoSuccess() throws Exception {
 74         String result = mockMvc.perform(get("/user/1")
 75                 .contentType(MediaType.APPLICATION_JSON_UTF8))
 76                 .andExpect(status().isOk())
 77                 .andExpect(jsonPath("$.username").value("tom"))
 78                 .andReturn().getResponse().getContentAsString();
 79         
 80         System.out.println(result);
 81     }
 82     
 83     @Test
 84     public void whenGetInfoFail() throws Exception {
 85         mockMvc.perform(get("/user/a")
 86                 .contentType(MediaType.APPLICATION_JSON_UTF8))
 87                 .andExpect(status().is4xxClientError());
 88     }
 89     
 90     @Test
 91     public void whenCreateSuccess() throws Exception {
 92         
 93         Date date = new Date();
 94         System.out.println(date.getTime());
 95         String content = "{\"username\":\"tom\",\"password\":null,\"birthday\":"+date.getTime()+"}";
 96         String reuslt = mockMvc.perform(post("/user").contentType(MediaType.APPLICATION_JSON_UTF8)
 97                 .content(content))
 98                 .andExpect(status().isOk())
 99                 .andExpect(jsonPath("$.id").value("1"))
100                 .andReturn().getResponse().getContentAsString();
101         
102         System.out.println(reuslt);
103     }
104     
105     @Test
106     public void whenCreateFail() throws Exception {
107         
108         Date date = new Date();
109         System.out.println(date.getTime());
110         String content = "{\"username\":\"tom\",\"password\":null,\"birthday\":"+date.getTime()+"}";
111         String reuslt = mockMvc.perform(post("/user").contentType(MediaType.APPLICATION_JSON_UTF8)
112                 .content(content))
113 //                .andExpect(status().isOk())
114 //                .andExpect(jsonPath("$.id").value("1"))
115                 .andReturn().getResponse().getContentAsString();
116         
117         System.out.println(reuslt);
118     }
119     
120     @Test
121     public void whenUpdateSuccess() throws Exception {
122         
123         Date date = new Date(LocalDateTime.now().plusYears(1).atZone(ZoneId.systemDefault()).toInstant().toEpochMilli());
124         System.out.println(date.getTime());
125         String content = "{\"id\":\"1\", \"username\":\"tom\",\"password\":null,\"birthday\":"+date.getTime()+"}";
126         String reuslt = mockMvc.perform(put("/user/1").contentType(MediaType.APPLICATION_JSON_UTF8)
127                 .content(content))
128                 .andExpect(status().isOk())
129                 .andExpect(jsonPath("$.id").value("1"))
130                 .andReturn().getResponse().getContentAsString();
131         
132         System.out.println(reuslt);
133     }
134     
135     @Test
136     public void whenDeleteSuccess() throws Exception {
137         mockMvc.perform(delete("/user/1")
138                 .contentType(MediaType.APPLICATION_JSON_UTF8))
139                 .andExpect(status().isOk());
140     }
141 
142 }

 

posted @ 2020-07-27 21:22  纵不朽  阅读(324)  评论(0编辑  收藏  举报