我有一个数据访问对象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