ruby-on-rails – 如何在测试环境中设置dalli缓存?

我将使用Dalli缓存作为键值存储.

通常在生产和开发环境中我们都有生产线

config.cache_store = :dalli_store

那么我们就可以使用Rails.cache构造来读取和写入缓存.

但是在测试环境中我们通常没有这个配置行.

为了测试我的存储逻辑,在测试环境中设置缓存的写入方式是什么?

附:我正在使用Linux(Ubuntu)

最佳答案 dalli是缓存服务的客户端(memcached)

无论环境如何,都在全局设置它,即在config / application.rb中

config.cache_store = :dalli_store

在测试环境中停用缓存是一种常见的方法,请检查config / environments / test.rb

config.action_controller.perform_caching = false

所以你可以为测试环境启用它,但它可能会导致一些奇怪的冲突
最好的可能是只为特定的规格启用它:

before do # enable caching
  @caching_state = ActionController::Base.perform_caching
  ActionController::Base.perform_caching = true
end

after do # disable caching
  ActionController::Base.perform_caching = @caching_state
end
点赞