在测试时禁用Redis AutoConfig在弹簧启动时
问题描述:
我试图在弹簧引导测试时禁用Redis。我禁用了我的配置,但自动配置创建了一个默认连接并失败,因为它无法连接到不存在的服务。对于测试,我只满足于使用基本的内存缓存或无操作缓存。那也行不通。这是我曾尝试:在测试时禁用Redis AutoConfig在弹簧启动时
每this issue我加说配置到我的测试应用程序性能
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')
。我承认,豆的名字有点误导。它实际上解决的类型不是
Redis的唯一其他参考是在我们的休眠支持。
有人可以解释如何关闭测试?
答
- 尝试排除在测试性能这两种自动配置的类文件:
spring.autoconfigure.exclude
= org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration,org.springframework.boot.autoconfigure.data.redis.RedisRepositoriesAutoConfiguration
或
- 排除
org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration
并设置:spring.data.redis.repositories.enabled=false
当我回到导致我这个问题的代码时,我会放弃它。谢谢 –