userservicetest
Change-Id: I3150b15760354f1b2ac27f84015cef4bea78b840
diff --git a/src/test/java/com/example/g8backend/service/UserServiceTest.java b/src/test/java/com/example/g8backend/service/UserServiceTest.java
new file mode 100644
index 0000000..f86da8d
--- /dev/null
+++ b/src/test/java/com/example/g8backend/service/UserServiceTest.java
@@ -0,0 +1,80 @@
+package com.example.g8backend.service;
+
+import com.example.g8backend.entity.User;
+import com.example.g8backend.mapper.UserMapper;
+import com.example.g8backend.service.impl.UserServiceImpl;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+import org.mockito.junit.jupiter.MockitoExtension;
+
+import static org.junit.jupiter.api.Assertions.*;
+import static org.mockito.Mockito.*;
+
+@ExtendWith(MockitoExtension.class)
+class UserServiceTest {
+
+ @Mock
+ private UserMapper userMapper;
+
+ @InjectMocks
+ private UserServiceImpl userService;
+
+ @Test
+ void getUserByName_ShouldReturnUser_WhenNameExists() {
+ // 准备测试数据
+ String name = "Alice";
+ User expectedUser = new User();
+ expectedUser.setUserName(name);
+
+ // 模拟Mapper行为
+ when(userMapper.getUserByName(name)).thenReturn(expectedUser);
+
+ // 调用被测试方法
+ User actualUser = userService.getUserByName(name);
+
+ // 验证结果
+ assertEquals(expectedUser, actualUser);
+ verify(userMapper, times(1)).getUserByName(name);
+ }
+
+ @Test
+ void getUserByEmail_ShouldReturnUser_WhenEmailExists() {
+ String email = "xxi13552467509@163.com";
+ User expectedUser = new User();
+ expectedUser.setEmail(email);
+
+ when(userMapper.getUserByEmail(email)).thenReturn(expectedUser);
+
+ User actualUser = userService.getUserByEmail(email);
+
+ assertEquals(expectedUser, actualUser);
+ verify(userMapper, times(1)).getUserByEmail(email);
+ }
+
+ @Test
+ void getUserByPasskey_ShouldReturnUser_WhenPasskeyExists() {
+ String passkey = "secret123";
+ User expectedUser = new User();
+ expectedUser.setPasskey(passkey);
+
+ when(userMapper.getUserByPasskey(passkey)).thenReturn(expectedUser);
+
+ User actualUser = userService.getUserByPasskey(passkey);
+
+ assertEquals(expectedUser, actualUser);
+ verify(userMapper, times(1)).getUserByPasskey(passkey);
+ }
+
+ @Test
+ void getUserByName_ShouldReturnNull_WhenNameNotExists() {
+ String name = "Unknown";
+ when(userMapper.getUserByName(name)).thenReturn(null);
+
+ User result = userService.getUserByName(name);
+
+ assertNull(result);
+ verify(userMapper, times(1)).getUserByName(name);
+ }
+}
\ No newline at end of file