3
我可以設置一個模擬對象來始終返回給定的對象作爲參數嗎?我有一個方法我可以設置一個模擬來始終返回其中一個參數中給出的對象嗎?
public MyObject DoSomething(MyObject obj)
,我想有一個模擬它總是返回OBJ每次調用DoSomething的,有點像這樣:
mock.Stub(x=>x.DoSomething(Arg<MyObject>.Is.Anything).Return(Arg<MyObject>)
雖然我不知道什麼把在回位...
編輯:我想這:
MyObject o=null;
mock.Stub(x=>x.DoSomething(Arg<MyObject>.Is.Anything).WhenCalled (y=>
{
o = y.Arguments[0] as MyObject;
}).Return (o);
這似乎像它可能是有前途,但沒有運氣。張貼在情況下,跑步別人的記憶......
太棒了!謝謝,我知道這一定是可能的。 – 2010-07-21 13:26:13
.TentativeReturn()是做什麼的? – Grzenio 2010-07-21 13:36:53
沒問題,山姆。拼圖很有趣。 @Grzenio:TentativeReturn只是將返回值標記爲可覆蓋。如果您刪除它,上面的代碼將返回null。 (WhenCalled仍然會執行,但新的返回值不會被遵守) – 2010-07-21 13:40:57