Как получить доступ к экземпляру контроллера в тесте интеграции RSpec с помощью Capybara - PullRequest
2 голосов
/ 21 ноября 2011

Я создаю движок для Rails 3.1, и пока все нормально.

Но я пытаюсь сделать конфигурацию двигателя гораздо более общей с помощью конфигурации.

например. Основное приложение должно написать метод, используя символ.

# app/config/initializers/my_engine.rb
MyEngine::Engine.login_url = :sign_in_url

И чтобы проверить это через Rpec, я пишу спецификацию интеграции RSpec.

...
page.current_url.should eql(send(MyEngine::Engine.login_url))

А вышесказанное не говорит: NoMethod error... На самом деле я хочу назвать это send(...) на экземпляре контроллера основного приложения.

Пару недель назад, с Rails3.1.rc ..., он проходил, но теперь он терпит неудачу.

Итак. вопрос: как я могу вызвать этот метод на экземпляре контроллера в спецификации интеграции RSpec / Capybara? Или я делаю это неправильно?

...