2014-11-02 57 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