Тестирование создания и истечения срока действия фрагмента в Rails (3.0.7) - PullRequest
3 голосов
/ 14 ноября 2011

Я пытаюсь реализовать кэширование фрагментов в моем приложении.Он отображает много данных, которые редко изменяются, поэтому я подумал, что кэширование фрагментов будет лучшим решением для некоторых проблем с производительностью, которые у меня были.но я не могу найти какой-либо хороший способ проверить создание / истечение срока действия фрагментов (используя rspec и друзей).

Любая помощь будет высоко ценится.


Уточнение: Все, что я действительно хочу проверить, это то, что срок действия соответствующих фрагментов истек, а не то, что что-то конкретно входит или выходит из кэша.

1 Ответ

1 голос
/ 03 мая 2012

С мокко это будет примерно так:

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
...