Your Name | 695f6a6 | 2025-05-17 00:58:04 +0800 | [diff] [blame] | 1 | package edu.bjtu.groupone.backend; |
| 2 | |
晓瑞223 | 1b42236 | 2025-06-04 01:09:31 +0800 | [diff] [blame] | 3 | import edu.bjtu.groupone.backend.api.UserController; |
| 4 | import edu.bjtu.groupone.backend.domain.entity.Result; |
22301014 | f3cf5d5 | 2025-05-29 16:19:04 +0800 | [diff] [blame] | 5 | import edu.bjtu.groupone.backend.domain.entity.User; |
晓瑞223 | 1b42236 | 2025-06-04 01:09:31 +0800 | [diff] [blame] | 6 | import edu.bjtu.groupone.backend.service.UserService; |
| 7 | import org.junit.jupiter.api.BeforeEach; |
Your Name | 695f6a6 | 2025-05-17 00:58:04 +0800 | [diff] [blame] | 8 | import org.junit.jupiter.api.Test; |
| 9 | import org.junit.jupiter.api.extension.ExtendWith; |
| 10 | import org.mockito.InjectMocks; |
| 11 | import org.mockito.Mock; |
| 12 | import org.mockito.junit.jupiter.MockitoExtension; |
| 13 | |
晓瑞223 | 1b42236 | 2025-06-04 01:09:31 +0800 | [diff] [blame] | 14 | import java.util.Arrays; |
| 15 | import java.util.List; |
Your Name | 695f6a6 | 2025-05-17 00:58:04 +0800 | [diff] [blame] | 16 | |
晓瑞223 | 1b42236 | 2025-06-04 01:09:31 +0800 | [diff] [blame] | 17 | import static org.junit.jupiter.api.Assertions.*; |
| 18 | import static org.mockito.ArgumentMatchers.any; |
| 19 | import static org.mockito.Mockito.*; |
| 20 | |
| 21 | @ExtendWith(MockitoExtension.class) |
| 22 | class UserControllerTest { |
Your Name | 695f6a6 | 2025-05-17 00:58:04 +0800 | [diff] [blame] | 23 | |
| 24 | @Mock |
晓瑞223 | 1b42236 | 2025-06-04 01:09:31 +0800 | [diff] [blame] | 25 | private UserService userService; |
Your Name | 695f6a6 | 2025-05-17 00:58:04 +0800 | [diff] [blame] | 26 | |
| 27 | @InjectMocks |
晓瑞223 | 1b42236 | 2025-06-04 01:09:31 +0800 | [diff] [blame] | 28 | private UserController userController; |
Your Name | 695f6a6 | 2025-05-17 00:58:04 +0800 | [diff] [blame] | 29 | |
晓瑞223 | 1b42236 | 2025-06-04 01:09:31 +0800 | [diff] [blame] | 30 | private User testUser; |
Your Name | 4fbe811 | 2025-05-20 23:24:17 +0800 | [diff] [blame] | 31 | |
晓瑞223 | 1b42236 | 2025-06-04 01:09:31 +0800 | [diff] [blame] | 32 | @BeforeEach |
| 33 | void setUp() { |
| 34 | testUser = new User(); |
| 35 | testUser.setUserId(1); |
| 36 | testUser.setUsername("testuser"); |
| 37 | testUser.setEmail("test@example.com"); |
Your Name | 695f6a6 | 2025-05-17 00:58:04 +0800 | [diff] [blame] | 38 | } |
| 39 | |
晓瑞223 | 1b42236 | 2025-06-04 01:09:31 +0800 | [diff] [blame] | 40 | @Test |
| 41 | void deleteUser_shouldReturnSuccess() { |
| 42 | // 调用 |
| 43 | Result<String> result = userController.deleteUser(1); |
Your Name | 695f6a6 | 2025-05-17 00:58:04 +0800 | [diff] [blame] | 44 | |
晓瑞223 | 1b42236 | 2025-06-04 01:09:31 +0800 | [diff] [blame] | 45 | // 验证:修改预期为英文 "success" |
| 46 | assertEquals(0, result.getCode()); |
| 47 | assertEquals("success", result.getMsg()); // 修改这里 |
| 48 | verify(userService, times(1)).deleteUser(1); |
| 49 | } |
| 50 | |
| 51 | @Test |
| 52 | void updateUser_shouldReturnSuccess() { |
| 53 | // 调用 |
| 54 | Result<String> result = userController.updateUser(1, testUser); |
| 55 | |
| 56 | // 验证:修改预期为英文 "success" |
| 57 | assertEquals(0, result.getCode()); |
| 58 | assertEquals("success", result.getMsg()); // 修改这里 |
| 59 | verify(userService, times(1)).updateUser(any(User.class)); |
| 60 | } |
| 61 | |
| 62 | @Test |
| 63 | void getUser_shouldReturnUser() { |
| 64 | // 模拟 |
| 65 | when(userService.getUserById(1)).thenReturn(testUser); |
| 66 | |
| 67 | // 调用 |
| 68 | Result<User> result = userController.getUser(1); |
| 69 | |
| 70 | // 验证 |
| 71 | assertEquals(0, result.getCode()); |
| 72 | assertEquals(testUser, result.getData()); |
| 73 | verify(userService, times(1)).getUserById(1); |
| 74 | } |
| 75 | |
| 76 | @Test |
| 77 | void getAllUsers_shouldReturnUserList() { |
| 78 | // 模拟 |
| 79 | List<User> users = Arrays.asList(testUser, new User()); |
| 80 | when(userService.getAllUsers()).thenReturn(users); |
| 81 | |
| 82 | // 调用 |
| 83 | Result<List<User>> result = userController.getAllUsers(); |
| 84 | |
| 85 | // 验证 |
| 86 | assertEquals(0, result.getCode()); |
| 87 | assertEquals(2, result.getData().size()); |
| 88 | verify(userService, times(1)).getAllUsers(); |
| 89 | } |
| 90 | } |