2012-01-27 28 views

回答

11

它呈現在控制器規範中的視圖。如果你沒有放置render_views,視圖將不會渲染,這意味着控制器被調用,但在它返回之後視圖不會被渲染。控制器測試的運行速度會更快,因爲它們不必呈現視圖,但可能會漏掉視圖中的錯誤。

+0

好吧有道理。所以如果我的控制器沒有任何關聯的視圖,那麼調用'render_views'是毫無意義的?我的測試工作正常,沒有調用'render_views',所以我想這是事實。 – SundayMonday 2012-01-27 01:19:37

+1

是的,如果你沒有意見,那麼是沒有意義的點 – daniel 2012-01-27 06:16:25

8

這是關於isolation。這個想法是,你不希望你的控制器規範失敗,因爲視圖中有語法錯誤,這應該導致請求規範或視圖規範失敗。如果您沒有編寫請求規格或查看規格或Cucumber功能,那麼render_views可以從測試覆蓋角度爲您提供幫助。

+0

正如你在[這裏](https://groups.google.com/forum/?fromgroups#!topic/rspec/Gwnlou54x1M)指出的,我會添加render_views也可以用於幫助程序規範,例如,如果有幫助程序呈現部分或模板。 – aceofbassgreg 2013-05-24 17:29:36