Тесты RSpec для основного приложения не могут найти установленный двигатель - PullRequest
0 голосов
/ 13 декабря 2011

У меня есть приложение, которое монтирует движок в файле rout.rb следующим образом:

mount Quby::Engine => "/quby", :as => "quby_engine"

У него есть действие контроллера, которое делает это:

def collect_answers
  # do a bunch of stuff and then
  redirect_to quby_engine.edit_questionnaire_answers_path(questionnaire)
end

Это работает вбраузер, но мой контроллер RSpec проверяет это действие:

it 'should redirect to something' do
  get :collect_answers, :key => "honos"
  response.should redirect_to("something")
end

Ошибка с сообщением:

 Failure/Error: get :collect_answers, :key => "honos"
 undefined local variable or method `quby_engine' for #<EvaluateController:0x00000007245c50>

Нужно ли делать что-то особенное, чтобы двигатель был установлен в тестах моего контроллера?

Редактировать : Неважно, я думаю, что у меня был запущен Spork-сервер, который не был перезагружен для установки нового смонтированного приложения.

1 Ответ

0 голосов
/ 13 декабря 2011

Вы пытались добавить

   ENGINE_RAILS_ROOT=File.join(File.dirname(__FILE__), '../')

в ваш spec_helper.rb, как предложено в Тестирование Rails 3.1 для монтируемого движка с Rspec ?

...