Tôi đang di chuyển standart Rails đơn vị kiểm tra của tôi để RSpec và tôi có vấn đề với lập. Tất cả bộ điều khiển chứa xác thực xác thực đều thất bại với RSpec.RSpec và đưa ra: không thể sign_in admin
tôi cố gắng sign_in một admin trong RSpec sau hướng dẫn devise, nhưng không thành công:
Đây là những gì tôi đã cố gắng:
/spec/controllers/ipad_tech_infos_controller_spec.rb
before :each do
@request.env["devise.mapping"] = Devise.mappings[:admin]
@admin = FactoryGirl.create :admin
sign_in @admin
end
/spec/support/devise.rb
RSpec.configure do |config|
config.include Devise::TestHelpers, :type => :controller
end
/spec/factories/admin.rb
FactoryGirl.define do
factory :admin do
email "[email protected]"
password "foobar"
password_confirmation {|u| u.password}
end
end
mô hình của tôi là không confirmable, tất cả các bộ điều khiển spec của tôi đang thất bại.
Nếu tôi xóa before_filter: authenticate_admin! sau đó tất cả các bài kiểm tra của tôi vượt qua.
Ai đó có thể trợ giúp?
Nhờ đó là nó! – vdaubry
Ngoài ra, nếu quản trị viên của bạn được lồng trong Nhà máy của người dùng, bạn cần gọi nó như sau: 'sign_in: user, @ admin', có nghĩa là' sign_in (scope, resource) ' – Arel