Springboot学习--单元测试
pom.xml配置
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency>
测试代码:
首先,在src目录下建立test/java包。
1. 对UserService(业务方法)进行测试
package com.xxxx.springboot.service; import com.xxxx.springboot.Starter; import org.junit.After; import org.junit.Before; import org.junit.jupiter.api.Test; import org.junit.runner.RunWith; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; import javax.annotation.Resource; @RunWith(SpringRunner.class) @SpringBootTest(classes = { Starter.class}) class UserServiceTest { @Resource private UserService userService; private Logger log = LoggerFactory.getLogger(UserServiceTest.class); @Before public void before(){ log.info("单元测试开始"); } @Test public void test01(){ log.info("用户记录:[{}]",userService.queryById(1)); } @Test public void test02(){ log.info("用户记录:{}",userService.queryUserByUserName("admin")); } @After public void after(){ log.info("单元测试结束"); } @Test void contextLoads() { } }
2. 对UserController(控制层接口)进行测试
package com.xxxx.springboot.controller; import com.xxxx.springboot.Starter; import org.junit.After; 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.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.MvcResult; import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; import org.springframework.test.web.servlet.result.MockMvcResultMatchers; @RunWith(SpringRunner.class) @SpringBootTest(classes = { Starter.class}) @AutoConfigureMockMvc public class UserControllerTest { private Logger log = LoggerFactory.getLogger(UserControllerTest.class); @Autowired private MockMvc mockMvc; @Before public void before(){ log.info("单元测试开始"); } @After public void after(){ log.info("单元测试结束"); } @Test public void test01() throws Exception{ MvcResult mvcResult = mockMvc.perform(MockMvcRequestBuilders.get("/user/username/admin")) .andExpect(MockMvcResultMatchers.status().isOk()).andReturn(); log.info("响应状态:{}",mvcResult.getResponse().getStatus()); log.info("响应结果:{}",mvcResult.getResponse().getContentAsString()); } @Test public void test02() throws Exception{ MvcResult mvcResult = mockMvc.perform(MockMvcRequestBuilders.get("/user/list?userName=admin")) .andExpect(MockMvcResultMatchers.status().isOk()).andReturn(); log.info("响应状态:{}",mvcResult.getResponse().getStatus()); log.info("响应结果:{}",mvcResult.getResponse().getContentAsString()); } }