meg*_*gas 5 caching ruby-on-rails dalli
我将使用 Dalli 缓存作为键值存储。
通常在生产和开发环境中,我们有线路
config.cache_store = :dalli_store
Run Code Online (Sandbox Code Playgroud)
那么我们可以使用Rails.cache构造来读取和写入缓存。
但是通常在测试环境中,我们没有这个配置行。
在测试环境中设置缓存以测试我的存储逻辑的正确方法是什么?
PS我正在使用Linux(Ubuntu)
dalli 是缓存服务 (memcached) 的客户端,无论环境如何,都可以全局设置它,即在您的 config/application.rb 中
config.cache_store = :dalli_store
Run Code Online (Sandbox Code Playgroud)
在测试环境中停用缓存是一种常见的方法,请检查 config/environments/test.rb
config.action_controller.perform_caching = false
Run Code Online (Sandbox Code Playgroud)
所以你可以在测试环境中启用它,但它可能会导致一些奇怪的冲突,最好的可能是只为特定规格启用它:
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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1649 次 |
| 最近记录: |