Rspec 测试 rack_cache
Rspec tests of rack_cache
我正在使用 rack_cache 通过 Redis 缓存一些响应。我想用 rspec 进行测试,这样我就可以确定缓存是否有效。我可以这样做:
config.action_dispatch.rack_cache = true
问题是因为我想在单个测试中设置此设置,而不是针对整个应用程序。
对于高级缓存,我们可以使用 around 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
有没有办法为机架缓存做类似的事情?
我在 运行 测试之前删除了 redis 缓存:
redis_keys = $redis.keys('*')
$redis.del(redis_keys) if redis_keys.count > 0
我正在使用 rack_cache 通过 Redis 缓存一些响应。我想用 rspec 进行测试,这样我就可以确定缓存是否有效。我可以这样做:
config.action_dispatch.rack_cache = true
问题是因为我想在单个测试中设置此设置,而不是针对整个应用程序。
对于高级缓存,我们可以使用 around 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
有没有办法为机架缓存做类似的事情?
我在 运行 测试之前删除了 redis 缓存:
redis_keys = $redis.keys('*')
$redis.del(redis_keys) if redis_keys.count > 0