Java Junit 单元测试controller层接口的方法
程序员文章站
2022-03-02 17:35:25
...
首先要注入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());
}
上一篇: controller层单元测试
下一篇: JS动态设置div样式