如何測試當控制器中的動作被訪問時,該控制器的before_filter將被執行?測試before_filter被調用的動作
before_filter在單獨的示例組中進行了測試,因此不需要爲依賴於before_filter的所有操作重複測試。
如果我有
controller.should_receive(:my_before_filter)
在我的例子
,它工作正常。但是,有了上述期望似乎會導致my_before_filter
中的邏輯未被執行(它應該分配一個實例變量)。
如何克服這個限制或嘲弄my_before_filter的行爲(它在控制器上設置實例變量)?還是有更好的方法來做到這一點?
因爲它現在很清楚我在做這一切錯了,我還是想知道一個如何能嘲笑的before_filter中,設置一個實例變量的行爲。當然,在控制器規範中必須要做到這一點?
我找到了一個很好的答案在這裏:http://stackoverflow.com/questions/20775737/how-can-i-spec-before-filters – Boti 2013-12-28 14:14:46