我在 application_controller 中有一个标准的 current_user,如下所示:
describe ApplicationController < ActionController::Base
helper_method :current_user
def current_user
@current_user ||= User.find_by_auth_token(session[:auth_token]) if session[:auth_token]
end
我很好奇如何或是否应该对此进行测试。我在想(这可行,但我不确定是否有更好的方法,甚至是否有必要):
describe 'current_user' do
it 'should return a valid_current' do
user=FactoryGirl.create(:user)
user.auth_token='abc123'
user.save
request.session['auth_token']='abc123'
returned_user=controller.send(:current_user) # not sure about this
returned_user.id.should eq(user.id)
end
end
但不确定?我正在其他地方为我们的 api 测试我们的身份验证,但好奇(1)如何或(2)是否应该测试(即使是为了完整性)?
谢谢