在Rails中测试片段创建和过期片段(3.0.7)

时间:2011-11-14 16:36:07

标签: ruby-on-rails ruby fragment-caching

我正在尝试在我的应用程序中实现片段缓存。它显示了很多很少变化的数据,因此我认为片段缓存是我遇到的一些性能问题的最佳解决方案。

我正在使用Rail的内置片段缓存和缓存清理器,但我似乎找不到任何测试片段创建/过期的好方法(使用rspec和朋友)。

非常感谢任何帮助。


澄清:我真正想要测试的是,相应的片段已过期,而不是特定的任何内容进出缓存。

1 个答案:

答案 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