我有一個數據訪問對象TransactionDao。當你調用TransactionDao.Save(transaction)時,我希望它設置一個transaction.IsSaved = true標誌(這是一個簡化,我試圖做的實際事情並不那麼平庸)。所以當用RhinoMocks嘲笑我的TransactionDao時,我怎麼能指出它應該改變它的輸入?Rhino Mocks:我怎樣才能嘲笑一種轉換輸入的方法?
理想我想編寫這樣的事:
Expect.Call(delegate {dao.Save(transaction);}).Override(x => x.IsSaved=true);
有誰知道如何做到這一點?
雖然我得到了一個提示如何從實際類型簽名下面指定的答案做到這一點是關閉的,你必須做這樣的事情:因爲什麼馬克英格拉姆發表的 ,似乎是最好的答案,雖然沒有人的明確表示,現在要做到這一點:
public delegate void FakeSave(Transaction t);
...
Expect.Call(delegate {dao.Save(t); }).Do(new FakeSave(delegate(Transaction t2) { t.IsSaved = true; }));
就像我說的,這是我正在做的簡化,還有其他的變化發生在參數和其他可以設置的標誌。我需要知道如何使用byreference參數基本上 – 2008-09-12 16:18:50