zoukankan      html  css  js  c++  java
  • MockMvc使用示例类

    MockMvc

    • MockMvc
    import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.delete;
    import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.fileUpload;
    import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
    import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
    import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.put;
    import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
    import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
    @RunWith(SpringRunner.class)
    @SpringBootTest(classes = DemoApplication.class)
    public class UserControllerTest {
    	@Autowired
    	private WebApplicationContext wac;
    	private MockMvc mockMvc;
    	@Before
    	public void setup() {
    		mockMvc = MockMvcBuilders.webAppContextSetup(wac).build();
    	}
    	@Test
    	public void whenUploadSuccess() throws Exception {
    		String result = mockMvc.perform(fileUpload("/file")
    				// 第一个参数为文件名,第二个参数为上传的原始名字,第四个参数为文件内容
    				.file(new MockMultipartFile("file", "test.txt", "multipart/form-data", "hello upload".getBytes("UTF-8"))))
    				.andExpect(status().isOk())
    				.andReturn().getResponse().getContentAsString();
    		System.out.println(result);
    	}
    	@Test
    	public void whenQuerySuccess() throws Exception {
    		String result = mockMvc.perform(
    				get("/user").param("username", "jojo").param("age", "18").param("ageTo", "60").param("xxx", "yyy")
    						 .param("size", "15")
    						 .param("page", "3")
    						 .param("sort", "age,desc")
    						.contentType(MediaType.APPLICATION_JSON_UTF8))
    				.andExpect(MockMvcResultMatchers.status().isOk())
    			.andExpect(MockMvcResultMatchers.jsonPath("$.length()").value(3))
    				.andReturn().getResponse().getContentAsString();
    		System.out.println(result);
    	}
    	@Test
    	public void whenGetInfoSuccess() throws Exception {
    		String result = mockMvc.perform(get("/user/1")
    				.contentType(MediaType.APPLICATION_JSON_UTF8))
    				.andExpect(status().isOk())
    				.andExpect(jsonPath("$.username").value("tom"))
    				.andReturn().getResponse().getContentAsString();
    		
    		System.out.println(result);
    	}
    	@Test
    	public void whenGetInfoFail() throws Exception {
    		mockMvc.perform(get("/user/a")
    				.contentType(MediaType.APPLICATION_JSON_UTF8))
    				.andExpect(status().is4xxClientError());
    	}
    	@Test
    	public void whenCreateSuccess() throws Exception {
    		
    		Date date = new Date();
    		System.out.println(date.getTime());
    		String content = "{"username":"tom","password":null,"birthday":"+date.getTime()+"}";
    		String reuslt = mockMvc.perform(post("/user").contentType(MediaType.APPLICATION_JSON_UTF8)
    				.content(content))
    				.andExpect(status().isOk())
    				.andExpect(jsonPath("$.id").value("1"))
    				.andReturn().getResponse().getContentAsString();
    		
    		System.out.println(reuslt);
    	}
    	@Test
    	public void whenCreateFail() throws Exception {
    		
    		Date date = new Date();
    		System.out.println(date.getTime());
    		String content = "{"username":"tom","password":null,"birthday":"+date.getTime()+"}";
    		String reuslt = mockMvc.perform(post("/user").contentType(MediaType.APPLICATION_JSON_UTF8)
    				.content(content))
    //				.andExpect(status().isOk())
    //				.andExpect(jsonPath("$.id").value("1"))
    				.andReturn().getResponse().getContentAsString();
    		
    		System.out.println(reuslt);
    	}
    	@Test
    	public void whenUpdateSuccess() throws Exception {
    		Date date = new Date(LocalDateTime.now().plusYears(1).atZone(ZoneId.systemDefault()).toInstant().toEpochMilli());
    		System.out.println(date.getTime());
    		String content = "{"id":"1", "username":"tom","password":null,"birthday":"+date.getTime()+"}";
    		String reuslt = mockMvc.perform(put("/user/1").contentType(MediaType.APPLICATION_JSON_UTF8)
    				.content(content))
    				.andExpect(status().isOk())
    				.andExpect(jsonPath("$.id").value("1"))
    				.andReturn().getResponse().getContentAsString();
    		
    		System.out.println(reuslt);
    	}
    	@Test
    	public void whenDeleteSuccess() throws Exception {
    		mockMvc.perform(delete("/user/1")
    				.contentType(MediaType.APPLICATION_JSON_UTF8))
    				.andExpect(status().isOk());
    	}
    }
    
    
  • 相关阅读:
    Openssl s_time命令
    Openssl speed命令
    Openssl s_client命令
    Openssl s_server命令
    Openssl smime命令
    关于静态与非静态之具体总结
    C++游戏系列2:角色装备武器
    POJ 2398 Toy Storage(计算几何)
    Oracle核心技术 笔记(该书读得不细致,须要找时间再细读~~)
    还在为开发APP发愁? 这里就有现成通用的代码!
  • 原文地址:https://www.cnblogs.com/fjf3997/p/13023552.html
Copyright © 2011-2022 走看看