如何为Redis逻辑编写单元测试用例

时间:2019-04-11 07:05:54

标签: spring-boot junit redis mockito spring-data-redis

我想在我的服务类中编写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());

0 个答案:

没有答案