forked from aofeng/JavaTutorial
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathUserServiceTest.java
More file actions
66 lines (53 loc) · 2.23 KB
/
UserServiceTest.java
File metadata and controls
66 lines (53 loc) · 2.23 KB
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
package cn.aofeng.demo.mockito;
import static org.junit.Assert.*;
import org.junit.Test;
import static org.mockito.Mockito.*;
/**
* {@link UserService}的单元测试用例。
*
* @author <a href="mailto:aofengblog@163.com">聂勇</a>
*/
public class UserServiceTest {
private UserService _userService = new UserService();
@Test
public void testIsAdult4UserExist() {
long userId = 123;
User user = new User(userId, "张三", 19);
// 大于18岁的测试用例
UserDao daoMock = mock(UserDao.class);
when(daoMock.queryById(userId)).thenReturn(user); // 设置行为和对应的返回值
_userService.setUserDao(daoMock); // 设置mock
assertTrue(_userService.isAdult(userId)); // 校验结果
// 等于18岁的测试用例
User user2 = new User(userId, "李四", 18);
when(daoMock.queryById(userId)).thenReturn(user2);
_userService.setUserDao(daoMock);
assertTrue(_userService.isAdult(userId));
// 小于18岁的测试用例
User user3 = new User(userId, "王五", 17);
when(daoMock.queryById(userId)).thenReturn(user3);
_userService.setUserDao(daoMock);
assertFalse(_userService.isAdult(userId));
}
@Test
public void testIsAdult4UserNotExist() {
// 用户不存在的测试用例
long userId = 123;
UserDao daoMock = mock(UserDao.class);
when(daoMock.queryById(userId)).thenReturn(null); // 设置行为和对应的返回值
_userService.setUserDao(daoMock); // 设置mock
assertFalse(_userService.isAdult(userId)); // 校验结果
}
@Test
public void testBuy() {
long userId = 12345;
UserDao daoMock = mock(UserDao.class);
when(daoMock.queryById(anyLong())).thenReturn(new User(userId, "张三", 19));
String commodityId = "S01A10009823";
CommodityDao commodityDao = mock(CommodityDao.class);
when(commodityDao.queryById(anyString())).thenReturn(new Commodity(commodityId, "xxx手机", 1));
_userService.setUserDao(daoMock);
_userService.setCommodityDao(commodityDao);
assertTrue(_userService.buy(userId, commodityId));
}
}