2014-11-02 82 views
0

我重構我的控制器,以由邏輯移動到模型的控制器的方法。當他們有這麼多的邏輯時,我發現很難測試我的控制器方法(也無法重用控制器中的邏輯)。現在我想了解如何編寫這些控制器的規格。我正在關注this testing guide規格測試調用模型方法

下面是一個例子:

def dashboard 
    @sorted_deals = Deal.deals_for_user(current_user) 
end 

此調用具有查找相關的交易和他們適當的排序一些邏輯類方法。這感覺像是重複測試deals_for_user(我已經在我的型號規格中測試過)。我如何測試這種方法而不需要重複?這是使用模擬還是存根的情況?

回答

0

目前,正在對Rails中控制器測試的有效性一些爭論。就我個人而言,我會對我的模型進行單元測試,並且我爲控制器做的唯一真正的測試是使用無頭瀏覽器進行集成測試,例如帶有水豚的Selenium。如果您知道您的方法有效且經過測試,並且視圖/相關邏輯運行並通過集成測試進行測試,則控制器測試幾乎是浪費時間。對此還有其他意見,我絕不是上師,但我想我會把我的$ 00.02。

+0

我傾向於同意。 – settheline 2014-11-17 18:54:33