我被招募为 SW 开发人员,我正在尝试在 ruby 中使用 RSPEC 和 RR 进行单元测试,但很难决定具体的策略,主要是因为我被分配为已经编写的代码编写单元测试书面。
考虑以下代码,它是名为 method1 的大方法的一部分:
if (["5234541252", "6236253223"].include?(self.id))
self.DoCheck
logs.add 'Doing check', "id = #{self.id}"
return
end
这部分方法的相关单元测试类似于:
"should do check only if id = 5234541252 or 6236253223"
但我遇到了几个问题,基本上涉及最佳实践,例如:
如何检查是否已使用 RR 和 RSPEC 从“method1”中调用 DoCheck?
我试过使用 dont_allow(Object).DoCheck 但它不起作用。
describe :do_route do
it "should do check only if id = 5234541252 or 6236253223" do
user = Factory(:User)
user.id = "5234541252"
dont_allow(user).DoCheck
user.method1
end
是否有任何其他方法可以得出结论是否调用了“DoCheck”?