• [springboot] 搭建项目及单元测试


    本文纯属记录自己学习的过程以及相关使用操作,使用工具Idea2018。

    1.创建项目:

     

    -- 目录结构

    2.配置文件

     

    3.pom文件

    4.创建测试类并启动项目

    package com.zr.demo.Controller;
    
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestParam;
    import org.springframework.web.bind.annotation.RestController;
    
    /**
     * @Author: Hujh
     * @Date: 2019/7/16 9:32
     * @Description: 项目测试控制器
     */
    @RestController
    @RequestMapping("test")
    public class TestController {
    
        /**
         * @Title: get
         * @Author : Hujh
         * @Date: 2019/7/16 10:10
         * @Description : 测试方法
         * @param :
         * @Return : java.lang.String
         */
        @RequestMapping("get")
        public String get(){
            return "测试返回数据";
        }
    
        /**
         * @Title: getByParams
         * @Author : Hujh
         * @Date: 2019/7/16 10:11
         * @Description : 测试带参方法
         * @param : id
         * @param : name
         * @Return : java.lang.String
         */
        @RequestMapping("getByParams")
        public String getByParams(@RequestParam Integer id, String name){
            StringBuilder sb = new StringBuilder();
            sb.append(id);
            sb.append("---");
            sb.append(name);
            return sb.toString();
        }
    }

    5.访问接口,查看返回结果

    进行单元测试:(使用 mockmvc 进行)

    1.创建测试类

    package com.zr.demo;
    
    import com.zr.demo.Controller.TestController;
    import org.junit.Before;
    import org.junit.Test;
    import org.junit.runner.RunWith;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.http.MediaType;
    import org.springframework.test.context.junit4.SpringRunner;
    import org.springframework.test.web.client.match.MockRestRequestMatchers;
    import org.springframework.test.web.servlet.MockMvc;
    import org.springframework.test.web.servlet.MockMvcBuilder;
    import org.springframework.test.web.servlet.ResultActions;
    import org.springframework.test.web.servlet.request.MockHttpServletRequestBuilder;
    import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
    import org.springframework.test.web.servlet.result.MockMvcResultHandlers;
    import org.springframework.test.web.servlet.result.MockMvcResultMatchers;
    import org.springframework.test.web.servlet.setup.MockMvcBuilders;
    
    /**
     * @Author: Hujh
     * @Date: 2019/7/16 9:38
     * @Description:
     */
    @RunWith(SpringRunner.class)
    @org.springframework.boot.test.context.SpringBootTest
    public class SpringBootTest {
    
        private Logger logger = LoggerFactory.getLogger(SpringBootTest.class);
    
        private MockMvc mockMvc;
    
        @Autowired
        private TestController testController;
    
        @Before
        public void setUp(){
            logger.info("------初始化执行");
            mockMvc = MockMvcBuilders.standaloneSetup(testController).build();
        }
    
        /**
         * @Title: test
         * @Author : Hujh
         * @Date: 2019/7/16 9:46
         * @Description : 测试方法
         * @param :
         * @Return : void
         */
        @Test
        public void test() throws Exception {
            MockHttpServletRequestBuilder requestBuilder = MockMvcRequestBuilders.get("/test/getByParams")
                    .accept(MediaType.APPLICATION_JSON,MediaType.APPLICATION_JSON_UTF8)//请求数据格式
                    .contentType(MediaType.APPLICATION_JSON)//接受所用数据格式
                    .param("id","123")
                    .param("name","小张三");
    
            // 执行请求
            ResultActions result = mockMvc.perform(requestBuilder);
    
            //结果解析
            result.andExpect(MockMvcResultMatchers.status().isOk()) // 执行状态
    //                .andExpect(MockMvcResultMatchers.jsonPath("name").value("张三")) //期望值
                    .andDo(MockMvcResultHandlers.print()) // 打印
                    .andReturn(); // 返回
        }
    
    }

     2.启动test方法,查看返回结果

     

    总结

    使用 Spring Boot 可以非常方便、快速搭建项目,使我们不用关心框架之间的兼容性,适用版本等各种问题,我们想使用任何东西,仅仅添加一个配置就可以,所以使用 Spring Boot 非常适合构建微服务。

  • 相关阅读:
    Eclipse扩展安装插件方式
    Tomcat通过JNDI方式链接MySql数据库
    ArrayList实现根据某属性大小相间排序
    JMeter 怎么保存登录状态
    JMeter怎么使用代理服务器
    JMeter模拟多个用户进行登录
    JMeter怎么在get URL请求、POST请求中添加动态参数用于服务器段安全验证
    (转)sizeof()和_countof()区别
    潜心修炼, 生活,会给你一个惊喜~
    最初的梦想
  • 原文地址:https://www.cnblogs.com/hujunhui/p/11193362.html
Copyright © 2020-2023  润新知