我将使用 Dalli 缓存作为键值存储。
通常在生产和开发环境中我们有线
config.cache_store = :dalli_store
所以我们可以使用Rails.cache
构造来读取和写入缓存。
但是通常在测试环境中,我们没有这个配置行。
在测试环境中设置缓存以测试我的存储逻辑的正确方法是什么?
PS我正在使用Linux(Ubuntu)
我将使用 Dalli 缓存作为键值存储。
通常在生产和开发环境中我们有线
config.cache_store = :dalli_store
所以我们可以使用Rails.cache
构造来读取和写入缓存。
但是通常在测试环境中,我们没有这个配置行。
在测试环境中设置缓存以测试我的存储逻辑的正确方法是什么?
PS我正在使用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
我假设您在 Ubuntu 上,并在谷歌上搜索了“ubuntu install memcached rails”,并找到了几页详细信息。以下是关键点。
安装 memecache
sudo apt-get install memcached
重新启动 memcahce
/etc/init.d/memcached restart