blob: f86da8db00ec0ad5cd8234bfd9bf723bf8aa559b [file] [log] [blame]
夜雨声烦65cea192025-04-15 20:35:00 +08001package com.example.g8backend.service;
2
3import com.example.g8backend.entity.User;
4import com.example.g8backend.mapper.UserMapper;
5import com.example.g8backend.service.impl.UserServiceImpl;
6import org.junit.jupiter.api.Test;
7import org.junit.jupiter.api.extension.ExtendWith;
8import org.mockito.InjectMocks;
9import org.mockito.Mock;
10import org.mockito.junit.jupiter.MockitoExtension;
11
12import static org.junit.jupiter.api.Assertions.*;
13import static org.mockito.Mockito.*;
14
15@ExtendWith(MockitoExtension.class)
16class UserServiceTest {
17
18 @Mock
19 private UserMapper userMapper;
20
21 @InjectMocks
22 private UserServiceImpl userService;
23
24 @Test
25 void getUserByName_ShouldReturnUser_WhenNameExists() {
26 // 准备测试数据
27 String name = "Alice";
28 User expectedUser = new User();
29 expectedUser.setUserName(name);
30
31 // 模拟Mapper行为
32 when(userMapper.getUserByName(name)).thenReturn(expectedUser);
33
34 // 调用被测试方法
35 User actualUser = userService.getUserByName(name);
36
37 // 验证结果
38 assertEquals(expectedUser, actualUser);
39 verify(userMapper, times(1)).getUserByName(name);
40 }
41
42 @Test
43 void getUserByEmail_ShouldReturnUser_WhenEmailExists() {
44 String email = "xxi13552467509@163.com";
45 User expectedUser = new User();
46 expectedUser.setEmail(email);
47
48 when(userMapper.getUserByEmail(email)).thenReturn(expectedUser);
49
50 User actualUser = userService.getUserByEmail(email);
51
52 assertEquals(expectedUser, actualUser);
53 verify(userMapper, times(1)).getUserByEmail(email);
54 }
55
56 @Test
57 void getUserByPasskey_ShouldReturnUser_WhenPasskeyExists() {
58 String passkey = "secret123";
59 User expectedUser = new User();
60 expectedUser.setPasskey(passkey);
61
62 when(userMapper.getUserByPasskey(passkey)).thenReturn(expectedUser);
63
64 User actualUser = userService.getUserByPasskey(passkey);
65
66 assertEquals(expectedUser, actualUser);
67 verify(userMapper, times(1)).getUserByPasskey(passkey);
68 }
69
70 @Test
71 void getUserByName_ShouldReturnNull_WhenNameNotExists() {
72 String name = "Unknown";
73 when(userMapper.getUserByName(name)).thenReturn(null);
74
75 User result = userService.getUserByName(name);
76
77 assertNull(result);
78 verify(userMapper, times(1)).getUserByName(name);
79 }
80}