Ruby on rails 如何使用rspec测试rails中的缓存过期?
我想在Rails视图中测试缓存过期。视图如下所示:Ruby on rails 如何使用rspec测试rails中的缓存过期?,ruby-on-rails,caching,rspec,cache-expiration,Ruby On Rails,Caching,Rspec,Cache Expiration,我想在Rails视图中测试缓存过期。视图如下所示: # products/index.html.erb <% @products.each do |product| %> <% cache product do %> <%= render product %> <% end %> <% end %> def cache_version [touched_at, updated_at].compact.map(&am
# products/index.html.erb
<% @products.each do |product| %>
<% cache product do %>
<%= render product %>
<% end %>
<% end %>
def cache_version
[touched_at, updated_at].compact.map(&:utc).max.to_s(:usec)
end
#1
的问题是,有人可能会更改产品的部分,这样它就不会使用缓存版本
方法。例如,从rails5.1
升级到5.2
后,缓存机制已更改为使用cache\u版本
,而不是cache\u键
如果有人变了怎么办
您会选择哪种方式来测试缓存过期,为什么?缓存密钥是如何生成的?如果您依赖默认的rails代码,我甚至不会对此进行测试。如果您有一个自定义方法来创建缓存密钥,那么请测试该方法谢谢您的问题@arieljuod。我澄清了我的问题