Мы использовали кэширование Redis в проекте.
, и мы реализовали Mockito, и мы издеваемся над уровнем репозитория, но Redistemplate используется для получения данных из кэша на уровне сервиса, и мы пытаемся издеваться над Redistemplate, но не в состоянии сделать это < /p>
@MockBean
private RedisTemplate redisTemplate;
@Test
public void testGetProductHappyPath() {
log.info(ApplicationConstantsTest.METHOD_ENTER_LABEL);
when(redisTemplate.keys(ArgumentMatchers.any())).thenReturn(null);
final RequestBuilder requestBuilder = MockMvcRequestBuilders.get(ApplicationConstantsTest.PRODUCT_WALLET_OF_PRODUCT, Integer.MAX_VALUE)
.accept(MediaType.APPLICATION_JSON);
try {
mockMvc.perform(requestBuilder).andExpect(status().isOk());
log.info(ApplicationConstantsTest.METHOD_EXIT_LABEL);
} catch (final Exception e) {
log.error(ApplicationConstantsTest.METHOD_EXCEPTION_LABEL, e);
}
}
< /code>
Но мы получаем это: < /p>
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.data.redis.core.RedisKeyValueAdapter]: Constructor threw exception; nested exception is java.lang.IllegalArgumentException: ConnectionFactory must not be null!
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:217)
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:117)
at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:309)
... 65 common frames omitted
Caused by: java.lang.IllegalArgumentException: ConnectionFactory must not be null!
at org.springframework.util.Assert.notNull(Assert.java:201)
at org.springframework.data.redis.listener.RedisMessageListenerContainer.setConnectionFactory(RedisMessageListenerContainer.java:311)
at org.springframework.data.redis.core.RedisKeyValueAdapter.initMessageListenerContainer(RedisKeyValueAdapter.java:712)
at org.springframework.data.redis.core.RedisKeyValueAdapter.(RedisKeyValueAdapter.java:196)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:64)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:481)
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:204)
Подробнее здесь: https://stackoverflow.com/questions/673 ... on-via-con
Ошибка создания боба с именем "RediskeyValueAdapter": экземпляр бобов через конструктор не удалось ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение