私はデータアクセスオブジェクトTransactionDaoを持っています。 TransactionDao.Save(トランザクション)を呼び出すと、transaction.IsSaved = trueフラグを設定することができます(これは単純化していますが、実際にやろうとしていることはそれほど珍しいことではありません)。だから、私のTransactionDaoをRhinoMockで嘲笑うときに、その入力を変換する必要があることをどのように示すことができますか?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パラメータで作業する方法を知る必要があります –