我正在爲軌道中的控制器寫一些功能測試,使用摩卡做嘲弄/樁。在rails中,如何在功能測試中存儲渲染方法?
有沒有辦法阻止在測試過程中呈現模板,以便我只能測試控制器中的代碼?
它看起來像rspec提供了這樣的東西,但我沒有使用rspec。
我正在爲軌道中的控制器寫一些功能測試,使用摩卡做嘲弄/樁。在rails中,如何在功能測試中存儲渲染方法?
有沒有辦法阻止在測試過程中呈現模板,以便我只能測試控制器中的代碼?
它看起來像rspec提供了這樣的東西,但我沒有使用rspec。
請問render_to_string
做你所需要的?
最明顯的解決方案似乎工作:
@controller.expects(:render)
我可以發誓,我昨晚試圖與沒有運氣。但今天早上,它像一個魅力。我一定忽視了一個錯字。
它看起來不像使用存根這裏是必要的。如果您想確保呈現給定模板,請使用assert_template
和/或assert_response
。您也可以通過手動或使用助手(如assert_select
)來斷言響應對象的狀態。
我明白你的觀點,但我試圖做的是有點不同。基本上,我只是想在我的模型中存留幾個方法,並測試以確保控制器正確地調用它們。通過避免渲染,我真的試圖避免必須殘留每個方法我的視圖/助手使用 – 2008-12-29 17:01:38
我不確定。這聽起來像需要我修改我的控制器中的代碼。我只想在測試運行時用模擬替換渲染方法。 – 2008-12-29 11:47:58