rspecテストでMockを使用したいと思います。正確に(n)回のany_instanceでRspecをモックします
klass.any_instance.should_receive(:save).exactly(2).times.and_return(true)
はなく、私のようなエラーメッセージが表示されます:
一時的な '< #Objectによって受信された "保存">すでに< #Object>によって受信されたメッセージ'私はスタブを使用しますが、正確さのためにモック
rspecテストでMockを使用したいと思います。正確に(n)回のany_instanceでRspecをモックします
klass.any_instance.should_receive(:save).exactly(2).times.and_return(true)
はなく、私のようなエラーメッセージが表示されます:
一時的な '< #Objectによって受信された "保存">すでに< #Object>によって受信されたメッセージ'私はスタブを使用しますが、正確さのためにモック
any_instance.should_receive
のdocumentationを使用したいです。
Use any_instance.should_receive to set an expectation that one (and only one)
instance of a class receives a message before the example is completed.
だから、あなたは正確に1つの目的は、2つのオブジェクトがsave
コール1回受ける必要があることをsave
コールを2回受け、そしてべきではないことを指定しています。
あなたは別のインスタンスによって行わ通話をカウントしたい場合は、creativeのようなことする必要があります:「任意の数を_receive \すべきである[どのように「任意の\の_INSTANCE」を言うために」の
save_count = 0
klass.any_instance.stub(:save) { save_count+=1 }
# run test
save_count.should == 2
私は2つの異なるオブジェクトが必要1つの例でshould_receive(:save)。実際には、私はループを介して 'n'の新しいオブジェクトを作成しているとそれをテストしたいセーブメソッドをヒットします。私の悪い英語を申し訳ありません。 –
私の2番目の例を使用する必要があります – SztupY
可能重複RSpecの時間](http://stackoverflow.com/questions/9800992/how-to-say-any-instance-should-receive-any-number-of-times-in-rspec) – SztupY