У меня есть партиал Rails 3, который перечисляет все категории в виде меню навигации - он есть на большинстве, но не на всех страницах моего шаблона ... скажем, около 75%. Я пытаюсь проверить частичное (в RSpec) прямо сейчас, и я только что понял несколько вещей:
В данный момент я звоню Categories.all в реальном виде. Трудность заключается в том, что, поскольку это касается базы данных, мои макеты / заглушки в спецификации представления игнорируются, и, следовательно, тест не пройден.
Я предполагаю, что альтернативой является присвоение переменной в контроллере приложения, а затем передача ее в качестве локальной переменной частичному. Тем не менее, около 25% моих страниц не будут использовать переменную, и мне интересно, есть ли более изящный способ сделать что-либо.
Короче говоря, я хочу, чтобы спецификации представления проходили без прикосновения к тестовой БД, но я не уверен, что глобальная переменная, переданная моему частичному, является лучшим способом сделать это ... и я не объявляю переменную в каждый (и только) те контроллеры, которые в нем нуждаются.
Любые предложения приветствуются ...