2009-08-18 11 views
2

私はこのようなシナリオを持っている:Rhino Mockedオブジェクトにどのように値を設定できますか?

form = MockRepository.GenerateMock<IAddAddressForm>(); 
mediator = new AddAddressMediator(form); 

メディエータは、テスト中の実際のオブジェクトであり、「フォーム」オブジェクトの値を設定できるようにする必要があります。

しかし、私は、フォームオブジェクトの値を設定するために見ることができる唯一の方法は、このようなものです:

form.Stub(x=>x.FirstName).Return(item.FirstName) 

私は私の本当のコードでそれを行うことにしたくありません。

私はモックのポイントがありませんか?

答えて

1

Stubsは、プロパティの動作をサポートしています。スタブを使用していない場合は、PropertyBehaviour()メソッドを使用して同様の効果を得ることができます。

メディエーター内では、通常formオブジェクトを使用する必要があります。偽のオブジェクトが渡されたことを知るべきではありません。

このコード:

form.Stub(x=>x.FirstName).Return(item.FirstName) 

は、あなたの本当の対象にすべきではないが、あなたはあなたのモックオブジェクトを使用する方法の期待を設定するには、あなたのテストの一部であってもよいです。

編集:あなたが提供してきたものから、

、私はあなたが「モックのポイントを逃し」しているかどうかを判断することはできません。本質的な目的は、それらの依存関係から独立した依存関係を持つコードをテストする方法を提供することです。 Martin Fowlerのエッセイ「Mocks Aren't Stubs」と、Rhino Mocks documentationのUsage Guidanceセクションをご覧ください。

+0

甘い回答!ありがとうございました(私はあなたに2回投票することができれば幸いです!) – Vaccano

+0

笑顔:)幸せになるサービス –

関連する問題