我该如何模拟这个方法调用?

时间:2015-05-05 08:36:56

标签: mockito

以下是我尝试进行单元测试的方法:

public void setToCache(final String cacheKey, final String value) {
    if (StringUtils.isEmpty(cacheKey)) {
        throw new NamedSystemException(
                ENamedSystemExceptionCode.ILLEGAL_ARGUMENT_EXCEPTION,
                "Cache Key is null or empty.");

    } else if (StringUtils.isEmpty(value)) {
        throw new NamedSystemException(
                ENamedSystemExceptionCode.ILLEGAL_ARGUMENT_EXCEPTION,
                "Value is null or empty.");
    }

    final Jedis jedis = getJedisClient();

    try {
        jedis.set(cacheKey, value);
        jedis.expire(cacheKey, 60);

    } finally {
        jedis.close();
    }
}

如何模拟Jedis对象?

1 个答案:

答案 0 :(得分:0)

您能描述一下getJedisClient()方法吗?

如果此方法使用的是在您的类中注入的对象(Jedis的直接实例或服务引导Jedis),则可以使用

轻松模拟它
Mockito.mock(yourObject);

这实际上取决于您的getJedisClient()实施。