Я использую authlogic для моей аутентификации пользователя, а в моем ApplicationController у меня есть «current_user», «current_user_session» и т. Д., Определенные и заданные как helper_methods.Сбой с помощью verify_partial_doubles с rails 4 и rspec 3
У меня есть очень простой вид спецификации для моего основного индекса:
RSpec.describe "main/index.html.erb", :type => :view do
context "when not logged in" do
before do
allow(view).to receive(:current_user).and_return(nil)
end
it "has an h1" do
render
expect(rendered).to include('h1')
end
end
end
Проблема заключается в том, что если «mocks.verify_partial_doubles = True» в моей конфигурации, то это приводит к впечатляюще массивную ошибку, как она сбрасывает целую объект, а затем говорит, что в нижней части:
1) main/index.html.erb when not logged in has an h1
Failure/Error: allow(view).to receive(:current_user).and_return(nil)
#<#<Class:0x00000104c249d0>:.........
@rendered_views={}>> does not implement: current_user
конечно, рекомендуется verify_partial_doubles устанавливается истина, но при этом эти перерывы. Я вытащил эту прямо из документации:
Если метод появляется в ApplicationHelper он будет работать. Но если это в ApplicationController и определяется как helper_method нет такой удачи:
helper_method :current_user, ...
def current_user
return @current_user if defined?(@current_user)
@current_user = current_user_session && current_user_session.record
end
Я хочу защиту, которая обеспечивает verify_partial_doubles, как я могу обойти эту проблему?
Спасибо за ответ. –
Блестящий. Это было очень полезно. Спасибо – GhostRider