Skip to content

Commit 09cf12c

Browse files
committed
fix(test): 修复ShortUrlServiceTest中布隆过滤器的Mock
- 添加 BloomFilter<String> 的Mock声明 - 在setUp()中配置布隆过滤器的Mock行为 - mightContain() 默认返回 true - put() 默认返回 true 解决测试失败:NullPointerException: shortCodeBloomFilter is null
1 parent 8df07ba commit 09cf12c

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

src/test/java/com/layor/tinyflow/service/ShortUrlServiceTest.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import com.layor.tinyflow.repository.DailyClickRepository;
1111
import com.layor.tinyflow.repository.ShortUrlRepository;
1212
import com.layor.tinyflow.repository.UserRepository;
13+
import com.google.common.hash.BloomFilter;
1314
import org.junit.jupiter.api.BeforeEach;
1415
import org.junit.jupiter.api.Disabled;
1516
import org.junit.jupiter.api.DisplayName;
@@ -72,6 +73,9 @@ class ShortUrlServiceTest {
7273

7374
@Mock
7475
private ValueOperations<String, String> valueOperations;
76+
77+
@Mock
78+
private BloomFilter<String> shortCodeBloomFilter;
7579

7680
@InjectMocks
7781
private ShortUrlService shortUrlService;
@@ -85,6 +89,11 @@ class ShortUrlServiceTest {
8589
void setUp() {
8690
ReflectionTestUtils.setField(shortUrlService, "baseUrl", BASE_URL);
8791
when(redisTemplate.opsForValue()).thenReturn(valueOperations);
92+
93+
// Mock 布隆过滤器行为:默认返回 true(可能存在)
94+
when(shortCodeBloomFilter.mightContain(anyString())).thenReturn(true);
95+
// put 方法返回 true(模拟添加成功)
96+
when(shortCodeBloomFilter.put(anyString())).thenReturn(true);
8897
}
8998

9099
@Test

0 commit comments

Comments
 (0)