[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 非常适合构建微服务。