2017-01-09 107 views
0

我正在使用rack_cache缓存一些使用Redis的响应。我想用rspec进行测试,所以我会确保缓存起作用。我可以这样做:rack_cache的Rspec测试

config.action_dispatch.rack_cache = true 

问题是因为我想在单个测试中设置此设置,而不是整个应用程序。

对于高级别的缓存,我们可以围绕博克使用:

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 

有没有办法做到的机架缓存类似的东西?

回答

0

我结束了在运行测试之前deliting Redis的缓存:

redis_keys = $redis.keys('*') 
$redis.del(redis_keys) if redis_keys.count > 0