如何测试当控制器中的操作被访问时,控制器的before_filter将被执行?
before_filter在单独的示例组中进行测试,因此不需要为依赖于before_filter的所有操作复制测试.
如果我有
controller.should_receive(:my_before_filter)
Run Code Online (Sandbox Code Playgroud)
在我的例子中,它工作正常.但是,具有上述期望似乎导致逻辑输入my_before_filter未被执行(它应该分配实例变量).
如何克服这个限制或模拟my_before_filter的行为(它在控制器上设置实例变量)?或者有更好的方法来做到这一点?
现在很清楚我做错了,我仍然想知道如何模拟设置实例变量的before_filter的行为.当然必须在控制器规范中做到这一点?