私は 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 を使用して DoCheck が「method1」内から呼び出されたかどうかを確認するにはどうすればよいですか?
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」が呼び出されたかどうかを判断する他の方法はありますか?