【发布时间】:2017-10-09 12:31:07
【问题描述】:
这是我项目中的模型 -
class Subscription < ActiveRecord::Base
def active?
SubscriptionValidationPolicy.new(self).active?
end
end
当我对active? 进行单元测试时,我应该为活动和非活动状态设置一个subscription 并对其进行断言,还是应该为SubscriptionValidationPolicy 做一个双精度,以某种方式将其注入,然后断言是否@987654325 @被调用了吗?
或者这只是我如何进行测试的固执己见。无论如何我都要测试SubscriptionValidationPolicy,所以为Subscription#active? 方法做一个“基于状态”的测试感觉是多余的。
希望对此有一些想法:)
【问题讨论】:
-
如果你测试这个策略,我会使用双倍的,但这主要是基于意见的......
-
我什至不会按原样测试该方法。它是一种单行器,可以进行简单的委托,并且没有任何条件逻辑。再说一次,我还要说你的模型根本不应该有这样的业务逻辑委托。
标签: ruby-on-rails ruby unit-testing rspec