Micronaut测试-禁用缓存

是否有可能以编程方式关闭缓存的方法?我尝试在测试类中注入DefaultCacheConfiguration并在设置方法set testMode = true和maximumSize = 0内进行设置,但仍然无法正常工作。

@micronautTest
class CategoriesServiceTest extends Specification {

  @Inject
  @Shared
  DefaultCacheConfiguration cacheConfiguration

  def setupSpec() {
      cacheConfiguration.setMaximumSize(0)
      cacheConfiguration.setTestMode(true)
  }

}
jjj0716 回答:Micronaut测试-禁用缓存

我发现一点骇客。我不确定这是最好的解决方案,但是可以。

我创建了一个类,该类将全局关闭测试缓存:

@Factory
class TestConfig {

    @EachBean(DefaultCacheConfiguration)
    CacheConfiguration cacheConfiguration(DefaultCacheConfiguration configuration) {
        println "disabling cache ${configuration.cacheName}"
        configuration.maximumSize = 0
        return configuration
    }

}
,

从1.3.0.M1开始,添加了noop缓存实现,您可以为测试或任何其他环境启用该实现。参见https://micronaut-projects.github.io/micronaut-cache/latest/guide/#noop

本文链接:https://www.f2er.com/3073500.html

大家都在问