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());
    	}
    }
    
    
  • 相关阅读:
    inner join 与 left join 之间的区别
    pdo Call to a member function setFetchMode() on boolean in
    PHP用星号隐藏用户名中间部分
    phpstorm里面无法配置deployment问题
    替换字符串中间部分为*
    tp3.2中between的用法
    PHP中的$this用法
    PhpStorm中实现代码自动换行
    ORM常用操作介绍
    django的admin的基础配置和使用
  • 原文地址:https://www.cnblogs.com/fjf3997/p/13023552.html
Copyright © 2011-2022 走看看