Следующий ответ был правильным. Я только что проверил это с Eclipse Juno.
Шаги:
Там уже является потоком в группе RhinoMocks .
GenerateMock создает динамический макет. Динамический макет разрешает вызовы, которые не указаны (= ожидаемые). Если это произойдет, он просто вернет null (или значение по умолчанию для возвращаемого типа).
Примечание: Repeat - это спецификация поведения (например, Stub), а не ожидание , даже если оно указано в ожидании.
Если вы хотите избежать более определенного количества вызовов, можно было написать:
[Test]
public void uhh_what()
{
var a = MockRepository.GenerateMock<IPrebuiltNotifier>();
a.Expect(x => x.Notify()).Repeat.Once();
a.Stub(x => x.Notify()).Throw(new InvalidOperationException("gotcha"));
a.Notify();
// this fails
a.Notify();
a.VerifyAllExpectations();
}
Или
[Test]
public void uhh_what()
{
var a = MockRepository.GenerateMock<IPrebuiltNotifier>();
a.Notify();
a.Notify();
// this fails
a.AssertWasCalled(
x => x.Notify(),
o => o.Repeat.Once());
}