我正在使用rack_cache来缓存一些使用Redis的响应。我想用rspec测试,所以我确信缓存有效。我可以这样做:
config.action_dispatch.rack_cache = true
问题是因为我想在单个测试中设置此设置,而不是整个应用程序。
对于高级缓存,我们可以使用bock:
config.around(:each, :caching) do |example|
caching = ActionController::Base.perform_caching
ActionController::Base.perform_caching = example.metadata[:caching]
example.run
ActionController::Base.perform_caching = caching
end
有没有办法为Rack cache做类似的事情?
答案 0 :(得分:0)
我在运行测试之前最终退出了redis缓存:
redis_keys = $redis.keys('*')
$redis.del(redis_keys) if redis_keys.count > 0