методы создания пользователя напрямую или из осветителей.

спомогательный код выглядит следующим образом (и прекрасно работает между прочим):

module ProvidersHelper
  def call_to_review(provider)
    if user_signed_in? && review = Review.find_by_provider_id_and_user_id(provider.id, current_user.id)
      link_to "Edit Your Review", edit_provider_review_path(provider, review), :class => "call_to_review"
    else
      link_to "Review This Provider", new_provider_review_path(provider), :class => "call_to_review"
    end
  end
end

К сожалению, это приводит к следующей ошибке при запуске моих тестов:

 undefined method `user_signed_in?' for #<ActionView::Base:0x00000106314640>
 # ./app/helpers/providers_helper.rb:3:in `call_to_review'

Очевидно, чтоDevise::Controllers::Helpers не включаются в мои помощники, когда rspec выполняет тест. Какие-нибудь предложения, которые могли бы помочь этой работе?

Изменить: чтобы предоставить немного больше информации, мой spec_helper имеет это:

config.include Devise::TestHelpers, :type => :controller
config.include Devise::TestHelpers, :type => :view
config.include Devise::TestHelpers, :type => :helper

(К сожалению, я не мог заставить его работать с:type => [:controller, :view, :helper])

Во всяком случае, я считаю, что эти строки добавляютsign_in(scope, object) (и другие) помощники по тестированию ваших тестов. Они не добавляют помощников, которые вы фактически использовали бы в своем контроллере / коде представления.

Ответы на вопрос(5)

Ваш ответ на вопрос