zoukankan      html  css  js  c++  java
  • 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)

  • 相关阅读:
    老男孩九期全栈Python之基础一
    为善如挽逆水之舟,才放手便下流
    对自己的表现打分
    anki
    解决推送数据平台
    己所独知,尽是方便;人所不见,尽是自由
    常与权
    为什么会一直刷视频而停不下来
    准备换个房子
    UDEC 1
  • 原文地址:https://www.cnblogs.com/cy0628/p/15428002.html
Copyright © 2011-2022 走看看