在我的ApplicationController,我公开可以由所有控制器共享的变量:填充实例变量定义在父控制器对于Rspec的测试
before_filter :expose_group
protected
# Much simplified
def expose_group
@user_group = LearningGroup.find_by_uid(cookies[:user_group])
end
我使用RSpec的测试我的控制器,并为其中的一些测试,我需要能够在运行之前将@user_group设置为已知值。如何在测试ApplicationController的子类时设置此变量?
注意:我需要一种方法来为测试设置@user_group。使用存根控制expose_group
的返回值不会有帮助,因为@user_group
仍然为零。
但它只是隐式返回任何东西。这不是我需要控制的'expose_group'的返回值,而是实例变量。 – Undistraction
在这种情况下,@apneadiving的答案就是您所需要的。 – ventsislaf