我正在尝试在我的应用程序中实现片段缓存。它显示了很多很少变化的数据,因此我认为片段缓存是我遇到的一些性能问题的最佳解决方案。
我正在使用Rail的内置片段缓存和缓存清理器,但我似乎找不到任何测试片段创建/过期的好方法(使用rspec和朋友)。
非常感谢任何帮助。
澄清:我真正想要测试的是,相应的片段已过期,而不是特定的任何内容进出缓存。
答案 0 :(得分:1)
使用mocha会是这样的:
UserController.any_instance.expects(:expire_fragment).with('cache_key')
我们唯一关心此测试的方法是,实际上使用适当的参数调用该方法,而不是方法实际上是否完成了这项工作。
在rspec中使用:
it 'expires the awesome user cache' do
UserController.any_instance.expects(:expire_fragment).with('awesome_user_cache').once
post :create, id: user.id, ect...
end