对Service业务方法测试
第一步:添加依赖坐标
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
第二步:添加测试类
@RunWith(SpringRunner.class)//RunWith就是一个运行器
@SpringBootTest(classes = {Starter.class})//显示要加载的是哪个配置类,是一个数组
public class TestUserService {
private Logger log= LoggerFactory.getLogger(TestUserService.class);
@Resource
private UserService userService;
@Before
public void before(){
log.info("单元测试前");
}
@Test
public void test01(){
log.info("测试记录:{}", userService.queryUserByUserId(2));
}
public void test2(){
log.info("测试记录:{}",userService.queryUserByUserName("test"));
}
@After
public void after(){
log.info("单元测试结束");
}
}
控制层接口方法测试:
需要新加一个注解@AutoConfigureMockMvc。需要借助MocMvc去做测试。
@RunWith(SpringRunner.class)
@SpringBootTest(classes = {Starter.class})
@AutoConfigureMockMvc
public class TestUserController {
private Logger log = LoggerFactory.getLogger(TestUserController.class);
@Autowired
private MockMvc mockMvc;
//用户列表查询
@Test
public void apiTest01()throws Exception{
MvcResult
mvcResult=mockMvc.perform(MockMvcRequestBuilders.get("/user/list")).
andExpect(MockMvcResultMatchers.status().isOk()).andReturn();
log.info("响应状态:{}",mvcResult.getResponse().getStatus());
log.info("响应内容:{}",mvcResult.getResponse().getContentAsString());;
}
// 用户名记录查询
@Test
public void apiTest02()throws Exception{
MvcResult mvcResult=mockMvc.perform(MockMvcRequestBuilders.get("/user/username/admin2")).
andExpect(MockMvcResultMatchers.status().isOk()).andReturn();
log.info("响应状态:{}",mvcResult.getResponse().getStatus());
log.info("响应内容:{}",mvcResult.getResponse().getContentAsString());;
}
}