推荐算法 用户考核 头像上传
Change-Id: Iaac96768d5238142f5ed445f5cc64ccedd239d0f
diff --git a/src/test/java/com/pt5/pthouduan/ControllerTest/RecommendControllerTest.java b/src/test/java/com/pt5/pthouduan/ControllerTest/RecommendControllerTest.java
new file mode 100644
index 0000000..169ad5f
--- /dev/null
+++ b/src/test/java/com/pt5/pthouduan/ControllerTest/RecommendControllerTest.java
@@ -0,0 +1,76 @@
+package com.pt5.pthouduan.ControllerTest;
+
+import com.pt5.pthouduan.controller.RecommendController;
+import com.pt5.pthouduan.entity.Torrent;
+import com.pt5.pthouduan.service.RecommendService;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+import java.util.Arrays;
+import java.util.List;
+
+import static org.junit.jupiter.api.Assertions.*;
+import static org.mockito.ArgumentMatchers.anyLong;
+import static org.mockito.Mockito.*;
+
+class RecommendControllerTest {
+
+ @Mock
+ private RecommendService recommendService;
+
+ @InjectMocks
+ private RecommendController recommendController;
+
+ @BeforeEach
+ void setUp() {
+ MockitoAnnotations.openMocks(this);
+ }
+
+ @Test
+ void getRecommendList_Success() {
+ // 准备测试数据
+ Torrent torrent1 = new Torrent();
+
+ // 执行测试
+ List<Torrent> actualList = recommendController.getRecommendList(123L);
+
+ // 验证结果
+ verify(recommendService, times(1)).recommendForUser(123L);
+ }
+
+ @Test
+ void getRecommendList_EmptyList() {
+ // 模拟空列表返回
+ when(recommendService.recommendForUser(anyLong()))
+ .thenReturn(List.of());
+
+ List<Torrent> result = recommendController.getRecommendList(456L);
+
+ assertTrue(result.isEmpty());
+ }
+
+ @Test
+ void getRecommendList_InvalidUserId() {
+ // 模拟无效用户ID情况
+ when(recommendService.recommendForUser(-1L))
+ .thenThrow(new IllegalArgumentException("Invalid user ID"));
+
+ assertThrows(IllegalArgumentException.class, () -> {
+ recommendController.getRecommendList(-1L);
+ });
+ }
+
+ @Test
+ void getRecommendList_ServiceException() {
+ // 模拟服务层异常
+ when(recommendService.recommendForUser(anyLong()))
+ .thenThrow(new RuntimeException("Recommendation service unavailable"));
+
+ assertThrows(RuntimeException.class, () -> {
+ recommendController.getRecommendList(999L);
+ });
+ }
+}