2011-08-24 8 views
7

オブジェクトによっては、共通のプロパティに値が含まれるようにデフォルトのスタブを作成したいものがあります。しかし、場合によっては、私のデフォルトの動作を上書きしたい。私の質問は、どういうわけかすでにスタブされた値を上書きすることができますか?rhinoモックでプロパティを2回スタブする

//First I create the default stub with a default value 
var foo = MockRepository.GenerateStub<IFoo>(); 
foo.Stub(x => x.TheValue).Return(1); 

//Somewhere else in the code I override the stubbed value 
foo.Stub(x => x.TheValue).Return(2); 

Assert.AreEqual(2, foo.TheValue); //Fails, since TheValue is 1 
+0

を参照してくださいhttp://stackoverflow.com/questions/770013/rhino-mocks-how-to-clear-オブジェクトの前の期待 – Ted

答えて

0

これを解決する代わりにStubExpectGenerateMockの代わりGenerateStubを使用:

//First I create the default stub with a default value 
var foo = MockRepository.GenerateMock<IFoo>(); 
foo.Expect(x => x.TheValue).Return(1); 

//Somewhere else in the code I override the stubbed value 
foo.Expect(x => x.TheValue).Return(2); 

Assert.AreEqual(1, foo.TheValue); 
Assert.AreEqual(2, foo.TheValue); 
+3

(少なくとも私の場合、引数として 'Arg 'を使用していますが)メソッドでは機能しません。 –

+0

あなたの特定の問題を示す新しい質問を作成することはできますか? – Jeroen

+4

私は質問者がデフォルトにいくつかの値を設定したいと思っていました。私。新しい価値をキューに入れず、それを変更すること。 –

関連する問題