Каково использование Repeat.Any () в Expect.Call при использовании среды тестирования Rhino Mocks Test

Когда я использую Repeat.Any (), он не показывает никаких ошибок, хотя я не вызываю метод GetMood (), но если я не использую n, не вызывает GetMood, тогда он показывает Excpetion типа ExpectationViolationException. Может кто-нибудь сказать мне какая польза от repeat.any ().

MockRepository mocks = new MockRepository();

IAnimal animal = mocks.DynamicMock<IAnimal>();

using (mocks.Record())  
{                 
    //Expect.Call(animal.GetMood()).Return("punit");   
    Expect.Call(animal.GetMood()).Return("Punit").Repeat.Any();
}

//animal.GetMood();

mocks.ReplayAll();   
mocks.VerifyAll();

Ответов (1)

Repeat.Any указывает, что GetMood () может вызываться 0 или более раз и что он должен возвращать «Punit», если вызывается.

Линия

Expect.Call(animal.GetMood()).Return("punit");

подразумевает, что GetMood нужно вызывать ровно один раз. Это то же самое, что и Repat.Once.

Вы также можете использовать AtLeastOnce, Times, Twice и Never.