• ava Junit 单元测试controller层接口的方法


    首先要注入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());
        }

    ref:SpringBoot基础之MockMvc单元测试 - 云+社区 - 腾讯云 (tencent.com)

  • 相关阅读:
    站立会议 第十天
    站立会议 第十天
    找水王
    购买《哈利波特》书籍
    站立会议第三天
    站立会议第二天
    冲刺会议第一天
    补发《超级迷宫》站立会议五
    补发《超级迷宫》站立会议四
    课堂练习之求1到N之间的数里面含有1的个数
  • 原文地址:https://www.cnblogs.com/cy0628/p/15428002.html
Copyright © 2020-2023  润新知