2011-07-21 52 views
3

我在我的rspec控制器規範中調用render_views,所以我可以直接測試響應的內容,而不是使用單獨的視圖規範。在控制器規範中使用水豚匹配器與ActionController :: TestResponse

果然,視圖呈現並返回response.body

問題是如何真正以富有表現力的方式解析頁面的內容。我正在嘗試使用像has_content,has_field等水豚匹配器,它們在請求規格中工作正常,但它們不適用於ActionController::TestResponse或從.body返回的字符串。

哪裏是用於解析視圖的rspec API?

如果我不能檢查它們,render_views的要點是什麼?

回答

1

如果你想規範渲染的意見,我建議在請求/接受/功能規範,而不是控制器做到這一點。控制器規格應該更像控制器的單位規格。如果要確保視圖呈現沒有任何問題,則可以使用render_views,但不應該在指定視圖方面進行更深入的研究。

+0

是的,很好打電話Solnic。看起來像在控制器中查看視圖規格很麻煩,並顯着降低了測試速度。我將UI的內容保留在請求規範中,並主要使用控制器規範來測試分配。 –

相關問題