问题
I want to create a stub of the following interface:
interface IUnitOfWork
{
void DoInTransaction(Action method);
}
In the stub object, all I want DoInTransaction
to do is run method()
.
Something like:
// pseudo-code
unitOfWorkStub.Stub(x => x.DoInTransaction(method)).Do(method())
Is it possible to create this kind of a stub with RhinoMocks? How can this be done?
回答1:
use this:
unitOfWorkStub.Stub(x => x.DoInTransaction(Arg<Action>.Is.Anything))
.WhenCalled(x => ((Action)x.Arguments[0])());
来源:https://stackoverflow.com/questions/5310486/how-to-use-the-real-parameters-when-creating-a-stub-method-in-rhinomocks