2011-01-09 48 views
1

我在使用設計和聲明授權時使功能測試工作時遇到了很多麻煩。我可以使用設計測試助手來簽名用戶,然後在控制器中填充current_user變量。但只要我使用post_with測試助手進行聲明授權,current_user將變爲零。設計和聲明授權功能測試問題

任何人都可以指出我如何編寫功能測試時使用設計和聲明授權在一起的例子嗎?

謝謝

回答

1

我有同樣的問題。 您不能在設計的功能測試中使用聲明性授權testhelper,例如post_with。

對於功能測試你可以使用設計測試幫助器,如sign_in和sign_out。我已經寫了其使用功能測試的測試色器件輔助方法幫手:

def test_with_user(user, &block) 
    begin 
    sign_in :user, users(user) 
    yield 
    ensure 
    sign_out :user 
    end 
end 

這幫助我以下列方式使用:

test_with_user(:max) do 
    get :new 
    assert_response :success 
end 

希望有所幫助。

+0

輝煌的解決方案謝謝 - 效果很好! – 2011-01-11 21:02:07