escargot agile
escargot agile

Reputation: 22379

How to use the real parameters when creating a stub method in RhinoMocks?

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?

Upvotes: 7

Views: 6458

Answers (1)

Daniel Hilgarth
Daniel Hilgarth

Reputation: 174309

use this:

unitOfWorkStub.Stub(x => x.DoInTransaction(Arg<Action>.Is.Anything))
              .WhenCalled(x => ((Action)x.Arguments[0])());

Upvotes: 16

Related Questions