Your Name | 695f6a6 | 2025-05-17 00:58:04 +0800 | [diff] [blame] | 1 | package edu.bjtu.groupone.backend; |
| 2 | |
| 3 | import static org.assertj.core.api.Assertions.assertThat; |
| 4 | import static org.mockito.Mockito.times; |
| 5 | import static org.mockito.Mockito.verify; |
| 6 | import static org.mockito.Mockito.when; |
Your Name | 695f6a6 | 2025-05-17 00:58:04 +0800 | [diff] [blame] | 7 | |
| 8 | import ch.qos.logback.classic.Logger; |
| 9 | import org.slf4j.LoggerFactory; |
| 10 | import edu.bjtu.groupone.backend.mapper.UserMapper; |
22301014 | f3cf5d5 | 2025-05-29 16:19:04 +0800 | [diff] [blame] | 11 | import edu.bjtu.groupone.backend.domain.entity.User; |
Your Name | 695f6a6 | 2025-05-17 00:58:04 +0800 | [diff] [blame] | 12 | import edu.bjtu.groupone.backend.service.impl.UserServImpl; |
Your Name | 695f6a6 | 2025-05-17 00:58:04 +0800 | [diff] [blame] | 13 | import org.junit.jupiter.api.Test; |
| 14 | import org.junit.jupiter.api.extension.ExtendWith; |
| 15 | import org.mockito.InjectMocks; |
| 16 | import org.mockito.Mock; |
| 17 | import org.mockito.junit.jupiter.MockitoExtension; |
| 18 | |
| 19 | @ExtendWith(MockitoExtension.class) |
| 20 | public class UserControllerTest { |
| 21 | |
| 22 | // 初始化 Logger,避免空指针 |
| 23 | private static final Logger log = (Logger) LoggerFactory.getLogger(UserControllerTest.class); |
| 24 | |
| 25 | @Mock |
| 26 | private UserMapper userMapper; |
| 27 | |
Your Name | 4fbe811 | 2025-05-20 23:24:17 +0800 | [diff] [blame] | 28 | |
Your Name | 695f6a6 | 2025-05-17 00:58:04 +0800 | [diff] [blame] | 29 | |
| 30 | @InjectMocks |
| 31 | private UserServImpl userService; |
| 32 | |
Your Name | 4fbe811 | 2025-05-20 23:24:17 +0800 | [diff] [blame] | 33 | |
Your Name | 695f6a6 | 2025-05-17 00:58:04 +0800 | [diff] [blame] | 34 | |
| 35 | @Test |
| 36 | public void testLogin() { |
| 37 | User loginUser = new User(); |
| 38 | loginUser.setIdentificationNumber(123456); |
| 39 | loginUser.setPassword("password123"); |
| 40 | User expected = new User(); |
| 41 | expected.setUsername("expectedUsername"); |
| 42 | |
| 43 | // 模拟 mapper 返回 |
| 44 | when(userMapper.login(loginUser)).thenReturn(expected); |
| 45 | |
| 46 | // 调用 service 并断言 |
| 47 | User result = userService.login(loginUser); |
| 48 | assertThat(result).isNotNull(); |
| 49 | assertThat(result.getUsername()).isEqualTo("expectedUsername"); |
| 50 | verify(userMapper, times(1)).login(loginUser); |
| 51 | } |
| 52 | |
Your Name | 695f6a6 | 2025-05-17 00:58:04 +0800 | [diff] [blame] | 53 | |
Your Name | 695f6a6 | 2025-05-17 00:58:04 +0800 | [diff] [blame] | 54 | } |