我正在尝试在使用Spring Boot进行测试时禁用Redis。我已经禁用了我的配置,但自动配置创建了一个默认连接,并因无法连接到不存在的服务而失败。为了测试,我满足于仅使用基本的内存缓存或无操作缓存。但这也不起作用。这是我尝试过的方法:
根据此问题,我将该配置添加到了我的测试应用程序属性中。
但是,这让我进一步了解了一些内容。但最终我遇到了一个NoSuchBeanDefinitionException redisTemplate - 这是因为redisReferenceResolver正在尝试查找它。
看着我的调试器,它正在尝试灌注的bean是:org.springframework.data.redis.core.convert.ReferenceResolverImpl,它来自spring-data-redis:1.8.0.RELEASE,它来自这个依赖项:compile('org.springframework.boot:spring-boot-starter-data-redis')。我承认,bean名称有点误导人。它实际解析到的类型并不是。
唯一与redis相关的引用是我们的hibernate支持。
有人能解释一下如何在测试中关闭它吗?
根据此问题,我将该配置添加到了我的测试应用程序属性中。
spring.autoconfigure.exclude=org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration
但是,这让我进一步了解了一些内容。但最终我遇到了一个NoSuchBeanDefinitionException redisTemplate - 这是因为redisReferenceResolver正在尝试查找它。
看着我的调试器,它正在尝试灌注的bean是:org.springframework.data.redis.core.convert.ReferenceResolverImpl,它来自spring-data-redis:1.8.0.RELEASE,它来自这个依赖项:compile('org.springframework.boot:spring-boot-starter-data-redis')。我承认,bean名称有点误导人。它实际解析到的类型并不是。
唯一与redis相关的引用是我们的hibernate支持。
有人能解释一下如何在测试中关闭它吗?