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基础-编码转化
    Python基础-简要说明
    Python基础-流程控制
    Python基础-运算符
    Python基础-输入输出
    博客更新第一天 愿在前端路上 坚定不移 多累积
    bower解决js库的依赖管理
    NPM下载出错 No compatible version found
    jquery-1.10.2 获取checkbox的checked属性总是undefined
    HTML中的下拉列表 select
  • 原文地址:https://www.cnblogs.com/cy0628/p/15428002.html
Copyright © 2011-2022 走看看