2
我想弄清楚如何在我的單元測試Rails中嘲笑(簡單地)current_user? (我正在使用Test :: Unit)。我嘗試着看Google和StackOverflow,但沒有什麼幫助!Rails - 如何簡單地模擬Test :: Unit上的current_user(OmniAuth)?
任何想法?
謝謝!
我想弄清楚如何在我的單元測試Rails中嘲笑(簡單地)current_user? (我正在使用Test :: Unit)。我嘗試着看Google和StackOverflow,但沒有什麼幫助!Rails - 如何簡單地模擬Test :: Unit上的current_user(OmniAuth)?
任何想法?
謝謝!
如果你在單元測試中,那麼你應該將current_user傳遞給你的過程。當從更高級別測試你真正關心current_user時,OmniAuth有一些模擬測試。
看這裏:https://github.com/intridea/omniauth/wiki/Integration-Testing
希望有所幫助。
儘管如何定義角色?如果您試圖對用戶/管理員運行集成測試,那麼mock_auth散列不會讓您有條件地更改角色......我錯過了什麼? – Mohamad 2013-02-25 21:07:33
上面描述的嘲諷確實設置了應用程序從Oauth提供程序接收的auth散列。除非提供者在其哈希中傳遞角色選項,否則這與角色無關。 – 2013-02-27 21:32:06
是的,我想這樣做的方法實際上是用與omniauth返回相同的'uid'創建管理員用戶,然後將其登錄。這樣,用戶就可以以管理員身份登錄,而不是創建。 – Mohamad 2013-02-28 03:18:29