blob: f1cf6d4b2481cbec1682278a2e3e408eb6b64b5b [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;
Your Name695f6a62025-05-17 00:58:04 +08007
8import ch.qos.logback.classic.Logger;
9import org.slf4j.LoggerFactory;
10import edu.bjtu.groupone.backend.mapper.UserMapper;
22301014f3cf5d52025-05-29 16:19:04 +080011import edu.bjtu.groupone.backend.domain.entity.User;
Your Name695f6a62025-05-17 00:58:04 +080012import edu.bjtu.groupone.backend.service.impl.UserServImpl;
Your Name695f6a62025-05-17 00:58:04 +080013import org.junit.jupiter.api.Test;
14import org.junit.jupiter.api.extension.ExtendWith;
15import org.mockito.InjectMocks;
16import org.mockito.Mock;
17import org.mockito.junit.jupiter.MockitoExtension;
18
19@ExtendWith(MockitoExtension.class)
20public 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 Name4fbe8112025-05-20 23:24:17 +080028
Your Name695f6a62025-05-17 00:58:04 +080029
30 @InjectMocks
31 private UserServImpl userService;
32
Your Name4fbe8112025-05-20 23:24:17 +080033
Your Name695f6a62025-05-17 00:58:04 +080034
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 Name695f6a62025-05-17 00:58:04 +080053
Your Name695f6a62025-05-17 00:58:04 +080054}