【发布时间】:2021-11-15 19:23:19
【问题描述】:
为什么使用时缓存会被Values填满
@Autowired
ServiceXY serviceXY
@TestConfiguration
static class AppDefCachingTestConfiguration {
@Bean
public ServiceXY ServiceXYMock() {
return mock(ServiceXY.class);
}
}
但不是
@MockBean
ServiceXY serviceXY
当使用@MockBean 时,当访问像我的测试中那样的缓存值时,我得到一个 NullPointerException:
@Autowired
ConcurrentMapCacheManager cmcm;
@Test
void anTest(){
when(serviceXY.methodThatFillsCache(anyString()).thenReturn("ABC");
serviceXY.methodThatFillsCache("TEST1");
cmcm.getCache("Cachename").get("TEST1",String.class).equals("ABC");
...
}
【问题讨论】:
标签: spring-boot mockito spring-boot-test spring-bean spring-cache