0
Вот метод, который я пытаюсь модульного тестирования:Как я должен издеваться над этим вызовом метода?
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
объект?
В принципе, вы не можете. Вы можете представить себе шпионаж об объекте и mock getJedisClient(), но поскольку это статический метод, Mockito ничего не может сделать. Чтобы сделать свой код пригодным для тестирования, избегайте статических методов и используйте инъекцию зависимостей, чтобы вставлять ваши зависимости, а не искать их. –
@JBNizet Я изменил его на метод экземпляра. Должен ли джид быть извлечен из экземпляра, чтобы его можно было насмехаться? –
Да. Мокито не может издеваться над статическими методами. –