イムを仕事とRepeat.Times()
に問題がないようです。私は私の嘲笑オブジェクトのメソッドであることを確認したいRhinoのモック:最小限の時間が呼び出すための私のユニットテストフレームワークをからかうようRhinoの-モック3.6を使用して
正確に3回と呼ばれる。ドキュメントによると私はRepeat.Times(3)
またはRepeat.Times(3, 3)
を使用する必要があります。
しかし、私が観察しているのは少なくとも少なくともの3回の呼び出しであることがわかります。そのため、メソッドを4回呼び出すと、テストは引き続き実行されます。メソッドを2回だけ呼び出すと失敗します。
ここに私のコードです。何か問題はありますか?
MockRepository mocks = new MockRepository();
IJobServiceEvent mockedJSE;
using (mocks.Record())
{
mockedJSE = mocks.DynamicMock<IJobServiceEvent>();
Expect.Call(() => mockedJSE.TransactionListChanged(null))
.Repeat.Times(3);
}
using (mocks.Playback())
{
mockedJSE.TransactionListChanged(null);
mockedJSE.TransactionListChanged(null);
mockedJSE.TransactionListChanged(null);
mockedJSE.TransactionListChanged(null);
}
ありがとう、私の問題を解決! – Jan
また、同じメソッドの2つの呼び出しを異なるパラメータで検証したいと思います。 Contraints()を使用し、AssertWasCalledを2回呼び出すことで、これを動作させることができます。しかし、このシナリオでは、どのような他のパラメータの組み合わせでも3番目の呼び出しが発生しないことをどのように確認するのですか?私はここで厳格な模擬を使わなければならないのですか? – Jan
私の更新を見てください。それはあなたが探しているもののために働くはずです。 – PatrickSteele