首先要注入MockMvc(引入的包為:import org.springframework.test.web.servlet.MockMvc;)
@Autowired private MockMvc mvc;
1.get方法,參數類型為@RequestParam
@Test public void searchFiles() throws Exception { //文件搜索 RequestBuilder request; request = get("/api/v1/folders").param("page", "1") .param("pageSize", "50") .param("parentId", "-1") .param("order", "createTime") .param("orderType", "desc"); mvc.perform(request) .andExpect(status().isOk()) .andDo(MockMvcResultHandlers.print()); }
2.get方法,參數類型為@PathVariable
@Test public void getFoldersByParentId() throws Exception { //文件夾搜索 RequestBuilder request; request = get("/api/v1/folders/{parentId}/folders", -1); mvc.perform(request) .andExpect(status().isOk()) .andDo(MockMvcResultHandlers.print()); }
3.post方法,參數類型為@RequestBody
@Test public void createNewOrEditFile() throws Exception { //創建文件夾 RequestBuilder request; request = post("/api/v1/folders") .contentType(MediaType.APPLICATION_JSON) .accept(MediaType.APPLICATION_JSON) .content("{\"name\": \"測試\", \"dir\": 1, \"parentId\": -1}"); mvc.perform(request) .andExpect(status().isOk()) .andDo(MockMvcResultHandlers.print()); }
4.需要獲得接口得返回值用以進行其他接口得關聯:
@Test public void createNewOrEditFile() throws Exception { //創建文件夾 RequestBuilder request; request = post("/api/v1/folders") .contentType(MediaType.APPLICATION_JSON) .accept(MediaType.APPLICATION_JSON) .content("{\"name\": \"測試\", \"dir\": 1, \"parentId\": -1}"); String re = mvc.perform(request) .andExpect(status().isOk()) .andDo(MockMvcResultHandlers.print()) .andReturn().getResponse().getContentAsString(); }
5.delete方法
@Test public void deleteFiles() throws Exception { RequestBuilder request; request = delete("/api/v1/folders") .contentType(MediaType.APPLICATION_JSON) .accept(MediaType.APPLICATION_JSON) .content("{\"ids\": [430]}"); mvc.perform(request) .andExpect(status().isOk()) .andDo(MockMvcResultHandlers.print()); }