2011-05-19 72 views
12

我在我的應用程序控制器(與Authlogic一起使用)中有一個稱爲current_user的輔助方法。不適用於視圖的應用程序控制器輔助方法規格

規格爲使用輔助性的觀點會失敗(但視圖工作時,我使用的瀏覽器)

ActionView::Template::Error: undefined local variable or method 'current_user' for #<#<Class:0x0000000229b060>:0x00000002004248>

我需要Rspec 2.6.0。

任何人都有同樣的問題?請指教。謝謝

回答

11

您可以存根出在view方法。

view.stub(:current_user).and_return(user)

這也將幫助規範工作。

+0

僅供參考:視圖對象也可用於幫助程序規範。 – Jared 2014-07-29 17:40:52

4

控制器定義的幫助器方法不包含在幫助器對象中。

http://relishapp.com/rspec/rspec-rails/dir/helper-specs/helper-spec

+2

大衛你好,謝謝回覆這麼快。如果我正確理解你的答案,那麼使用helper_method在控制器中定義的幫助器的視圖不能用rspec進行測試,因爲rspec不能訪問這些幫助器......不知何故,這種感覺不正確...... – Dorian 2011-05-19 16:23:00

+0

https://github.com/rspec/ rspec-rails/issues/119#issuecomment-309978似乎表明這應該是固定的,但看起來不是(如rspec-rails 2.10.1) – 2012-06-04 20:22:13

相關問題