我使用Devise進行身份驗證明顯,我想要做的就是測試一個方法在用戶對象上調用。所以,我的規格如下所示:設計,Rspec,用戶期望
it "should retrieve something for user" do
@user = Factory.create(:user)
sign_in @user
@user.expects(:something)
get :manage
end
我是希望這個問題失敗,除非我做的:
it "should retrieve something for user" do
@user = Factory.create(:user)
sign_in @user
controller.stubs(:current_user).returns @user
@user.expects(:something)
get :manage
end
僞造出來的控制器上的CURRENT_USER通話似乎做作,如果sign_in @user是有一項測試助手。在調試器中挖掘之後,它也出現在不僞造current_user時,@user真的被返回,所以我不知道爲什麼不符合期望。
想法?
經過一番深入挖掘,看來你是對的!謝謝(你的)信息。 – 2011-04-22 17:46:26
最後一個解決方案,經過許多小時的搜索..謝謝! – lambinator 2011-05-27 07:09:23