blob: 7e828968cf960b8f90719194b73f472c0f2383e5 [file] [log] [blame]
Your Name695f6a62025-05-17 00:58:04 +08001package edu.bjtu.groupone.backend;
2
3import static org.assertj.core.api.Assertions.assertThat;
4import static org.mockito.Mockito.times;
5import static org.mockito.Mockito.verify;
6import static org.mockito.Mockito.when;
7import java.time.LocalDateTime;
8
9import ch.qos.logback.classic.Logger;
10import org.slf4j.LoggerFactory;
11import edu.bjtu.groupone.backend.mapper.UserMapper;
Your Name695f6a62025-05-17 00:58:04 +080012import edu.bjtu.groupone.backend.model.User;
Your Name695f6a62025-05-17 00:58:04 +080013import edu.bjtu.groupone.backend.service.impl.UserServImpl;
Your Name695f6a62025-05-17 00:58:04 +080014import org.junit.jupiter.api.Test;
15import org.junit.jupiter.api.extension.ExtendWith;
16import org.mockito.InjectMocks;
17import org.mockito.Mock;
18import org.mockito.junit.jupiter.MockitoExtension;
19
20@ExtendWith(MockitoExtension.class)
21public class UserControllerTest {
22
23 // 初始化 Logger,避免空指针
24 private static final Logger log = (Logger) LoggerFactory.getLogger(UserControllerTest.class);
25
26 @Mock
27 private UserMapper userMapper;
28
Your Name4fbe8112025-05-20 23:24:17 +080029
Your Name695f6a62025-05-17 00:58:04 +080030
31 @InjectMocks
32 private UserServImpl userService;
33
Your Name4fbe8112025-05-20 23:24:17 +080034
Your Name695f6a62025-05-17 00:58:04 +080035
36 @Test
37 public void testLogin() {
38 User loginUser = new User();
39 loginUser.setIdentificationNumber(123456);
40 loginUser.setPassword("password123");
41 User expected = new User();
42 expected.setUsername("expectedUsername");
43
44 // 模拟 mapper 返回
45 when(userMapper.login(loginUser)).thenReturn(expected);
46
47 // 调用 service 并断言
48 User result = userService.login(loginUser);
49 assertThat(result).isNotNull();
50 assertThat(result.getUsername()).isEqualTo("expectedUsername");
51 verify(userMapper, times(1)).login(loginUser);
52 }
53
Your Name695f6a62025-05-17 00:58:04 +080054
Your Name695f6a62025-05-17 00:58:04 +080055}