Тест без заглушки ИМХО!
Последовательность будет выглядеть следующим образом:
- Cache.flush # или эквивалентный
- Cache.get (slug) .shouldbenull # кэш теста пуст
- Method.find_by_slug (slug) .should == 'некоторое значение' # проверить слова метода
- Cache.get (slug) .should == 'некоторое значение'# проверить, что кэш имеет значение.
Лично я считаю, что если у вас есть ресурсы под рукой, то заглушка НЕ ДОЛЖНА использоваться.Если у вас нет ресурсов под рукой (т.е. IE сторонней службы), тогда СЛЕДУЕТ использовать заглушки.
Проблема с заглушкой заключается в том, что если вы изменили код, который заглушаете, то вы не будетезнать, если он сломается.
Примером в этом случае может быть, если вы переключились со стандартного гема memcache на Dahli? или на какой-нибудь другой гем memcache, который передавал промахи кэша, возвращая ложное, нулевое или другое значение по-другому,Я имею в виду на самом деле!Cache.set ("my_key", false)!:)
Примером переключения может быть выход из протокола ASCII и переход на более быстрый двоичный протокол.
Memcache - дешевый ресурс, вы можете установить его с 1 Мб оперативной памяти.сделать это тестирование.Я бы даже сказал, что вы можете сделать то же самое для MySQL.Что-нибудь большее чем mysql, тогда я начал бы склоняться к окуркам, поскольку затраты на "настройку" этих ресурсов становятся значительными.YMMV.
-даниель