2011-08-19 38 views
1

我正在使用devise和sentient_user Gem - https://github.com/bokmann/sentient_user。 当我在模型中使用current_user时,它工作正常。 问题是我的Rspec测试失败了。 在我的Rspec的测试我有使用rspec,device和sentient_user

describe MyModelWhereIUseCurrentUser do 

    include Devise::TestHelpers 

    before(:each) do 
     @user = Factory(:user) 
     sign_in @user 
    end 

    describe "current_user should work here" do 
    it "should do something" do 
     # Reference to MyModelWhereIUseCurrentUser and current_user is null there 
    end 
    end 
end 

然后在描述块我打电话,我使用 当前用户的模型。 我的测试失败,因为current_user是零。 我没有正确登录用户,或者问题出在sentient_user上?

回答

1

sentient_user添加一个make_current方法,该方法可以在用户实例上调用。您可以通过将@user.make_current添加到块之前来解决您的问题。