6. 单元测试与log日志输出
6.1 配置日志文件
将logback-spring.xml放到resources下,做如下修改:
假设你需要在每次登录的时候都记录日志,那在controller中找到登录方法所在的类,然后在类上面加上@Slf4j的注释,可以发现结构中多了一个log:
在登录方法中加入日志记录:
1
2
3public HttpResponseEntity userLogin( { UserInfo userInfo)//requestbody注解,将请求的json数据转换为对象
log.info("用户" + userInfo.getUsername() + "登录");然后运行项目,登录后可以看到控制台有输出登录信息,并且log目录下也会有日志记录。
6.2 单元测试
在src/test下可以找到测试类
在pom.xml的dependences标签下加入依赖:(记得刷新maven)这样就可以使用@RunWith注解,它可以使用springboot的依赖注入
1
2
3
4
5<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>测试代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126package com.lyingedu.questionnaire;
import com.lyingedu.questionnaire.beans.HttpResponseEntity;
import com.lyingedu.questionnaire.biz.user.controller.UserController;
import com.lyingedu.questionnaire.common.utils.UUIDUtil;
import com.lyingedu.questionnaire.dbmap.entities.UserInfo;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import java.util.Date;
import java.util.List;
//这样可以用springboot的依赖注入
public class QuestionnaireApplicationTests {
private UserController userController;
/*
* 测试查询功能
*/
//注意使用junit,而不是junit.api
public void testQueryUserInfoList(){
UserInfo userInfo = new UserInfo();
HttpResponseEntity httpResponseEntity = userController.queryUserList(userInfo);
if ("666".equals(httpResponseEntity.getCode())) {
log.info(">>queryUserList用户列表查询测试成功");
}
}
/*
* 测试用户登录
*/
public void testUserLogin(){
UserInfo userInfo = new UserInfo();
userInfo.setUsername("admin");
userInfo.setPassword("12");
HttpResponseEntity httpResponseEntity = userController.queryUserList(userInfo);
if ("666".equals(httpResponseEntity.getCode())) {
log.info(">>selectUserInfo用户"+userInfo.getUsername()+"登录测试成功");
}else {
log.info(">>selectUserInfo用户登录测试失败");
}
}
/*
* 测试创建用户
*/
public void testCreateUser(){
UserInfo userInfo = new UserInfo();
userInfo.setId(UUIDUtil.getOneUUID());
userInfo.setUsername("test005");
userInfo.setPassword("123");
userInfo.setStatus("1");
userInfo.setCreatedBy("anyone");
userInfo.setCreationDate(new Date());
userInfo.setStartTime(new Date());
userInfo.setStopTime(new Date());
userInfo.setLastUpdateBy("anyone");
userInfo.setLastUpdateDate(new Date());
HttpResponseEntity httpResponseEntity = userController.addUserInfo(userInfo);
if("666".equals(httpResponseEntity.getCode())){
log.info(">>adduserinfo插入用户测试成功");
}
}
/*
* 测试修改用户
*/
public void testUpdUser(){
UserInfo userInfo = new UserInfo();
userInfo.setUsername("test005");
userInfo.setPassword("123");
HttpResponseEntity httpResponseEntity = userController.queryUserList(userInfo);
if("666".equals(httpResponseEntity.getCode())){//查询成功
List list=(List) httpResponseEntity.getData();
if(list.size() !=0){
UserInfo data = (UserInfo) list.get(0);
data.setUsername("test006");
HttpResponseEntity httpResponseEntity1 = userController.modifyUserInfo(data);
if("666".equals(httpResponseEntity1.getCode())){
log.info(">>update修改用户更新测试成功");
}
}
}
}
/*
* 测试删除用户
*/
public void testDeleteUser(){
UserInfo userInfo = new UserInfo();
userInfo.setUsername("test006");
userInfo.setPassword("123");
HttpResponseEntity httpResponseEntity = userController.queryUserList(userInfo);
if("666".equals(httpResponseEntity.getCode())){//查询成功
List list=(List) httpResponseEntity.getData();
if(list.size() !=0){
UserInfo data = (UserInfo) list.get(0);
HttpResponseEntity httpResponseEntity1 = userController.deleteUserById(data);
if("666".equals(httpResponseEntity1.getCode())){
log.info(">>delete用户删除测试成功");
}
}
}
}
}