別のオブジェクトにコンストラクター引数として渡されるモック オブジェクトがあります。
モックされたオブジェクトのプロパティが呼び出されたことをテストするにはどうすればよいですか? これは私が現在使用しているコードです:
INewContactAttributes newContact = MockRepository.GenerateMock<INewContactAttributes>();
newContact.Stub(x => x.Forenames).Return("One Two Three");
someobject.ConsumeContact(newContact);
newContact.AssertWasCalled(x => { var dummy = x.Forenames; });
これは、「someobject」内で Forenames プロパティのゲッターが複数回使用されている場合を除いて機能します。そのとき、「Rhino.Mocks.Exceptions.ExpectationViolationException: INewContactAttributes.get_Forenames(); Expected #1, Actual #2..」を取得します。
単に使用する
newContact.AssertWasCalled(x => { var dummy = x.Forenames; }, options => options.Repeat.Any());
動作せず、以下のエラーが発生します。
「待機中の期待値リストから期待値が削除されました。 Repeat.Any() を呼び出しましたか? これは AssertWasCalled() ではサポートされていません。」
では、複数の通話に対応するにはどうすればよいでしょうか。