Rhino Mocks - How to assert a mocked method was ca

2019-06-15 01:00发布

问题:

How can i assert that a method on a mocked object was called exactly called n-times?

Here is the code snippet from a controller action, i like to test:

for (int i = 0; i <= newMatchCommand.NumberOfMatchesToCreate; i++) {
    serviceFacade.CreateNewMatch("tester", Side.White);
}

The "service facade" object is the (strict) mock and will be injected into the controller. The unit test should assert that the CreateNewMatch method within the action was called n-times. (e.g. 5)

回答1:

Try Expect.Call(method).Repeat.Times(n).



回答2:

better yet:

mockObject.AssertWasCalled(x => x.SomeMethod(), opt => opt.Repeat.Times(n));