我想在我的服务类中编写Redis逻辑的模拟单元测试。 我在void方法中有以下逻辑。
String key = countryId + "_" + channelId + "_" + storeNumber + "_" + clientId
+ "_" + notificationRequest.getEmailId();
if(redisTemplate.hasKey(key)) {
return;
}
ValueOperations<String, String> ops = redisTemplate.opsForValue();
ops.set(key, "Success", Duration.ofMinutes(1));
我在以下服务类中自动连接了redisTemplate。
@Autowired
StringRedisTemplate redisTemplate;
我在下面尝试过,但是失败了
String key = "key";
boolean hasKey = redisTemplate.hasKey(key);
Assert.assertFalse(hasKey);
when(redisTemplate.opsForValue()).thenReturn(valueOperations);
doNothing().when(valueOperations).set(any(), any(), any());