2011-05-19 67 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

相关问题