是否有可能以编程方式关闭缓存的方法?我尝试在测试类中注入(inject) DefaultCacheConfiguration 并在设置方法 set testMode=true 和 MaximumSize=0 中进行设置,但仍然无法正常工作。
@MicronautTest
class CategoriesServiceTest extends Specification {
@Inject
@Shared
DefaultCacheConfiguration cacheConfiguration
def setupSpec() {
cacheConfiguration.setMaximumSize(0)
cacheConfiguration.setTestMode(true)
}
}
最佳答案
我发现了一些小技巧。我不确定这是最好的解决方案,但确实有效。
我创建了一个类,它全局关闭测试的缓存:
@Factory
class TestConfig {
@EachBean(DefaultCacheConfiguration)
CacheConfiguration cacheConfiguration(DefaultCacheConfiguration configuration) {
println "disabling cache ${configuration.cacheName}"
configuration.maximumSize = 0
return configuration
}
}
关于groovy - Micronaut 测试 - 禁用缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58934320/