Devise sign_in方法应该接受store: false
作为第二个参数,除非我在RSpec
并使用Devise::TestHelpers
,否则它似乎没那么好。
当我从sessions_controller_spec.rb
运行此测试时:
require 'rails_helper'
describe Api::V1::SessionsController do
before(:each) do
@user = FactoryGirl.create :user
end
...
describe 'DELETE #destroy' do
before(:each) do
sign_in @user, store: false
delete :destroy, id: @user.auth_token
end
it { should respond_with 204 }
end
end
我得到了这个失败:
答案 0 :(得分:1)
我遇到了同样的问题。根据Devise网站的说法,没有这样的方法。 尝试删除" store:false"参数并再次运行它。它解决了我的问题。
...
describe 'DELETE #destroy' do
before(:each) do
sign_in @user
delete :destroy, id: @user.auth_token
end
it { should respond_with 204 }
...
请记住将以下内容放在名为spec / support / devise.rb的文件中,或者放在spec / spec_helper.rb文件中(如果使用的是rspec-rails,则将spec / rails_helper.rb放入其中
RSpec.configure do |config|
config.include Devise::TestHelpers, type: :controller
end