Повторное использование проверенного Мока

Я выполняю упорядоченные ожидания в имитациях носорогов, как описано ayende в этом сообщении. Мой код выглядит примерно так:

using (_mocks.Ordered())
  {
    Expect.Call(() => _myMock.CallA());
    Expect.Call(() => _myMock.CallB(40));
    Expect.Call(() => _myMock.CallA());
  }
  _mocks.ReplayAll();
  _myObjectUnderTest.DoStuff();
  _mocks.VerifyAll();

После этого я хотел бы добавить больше ожиданий и протестировать больше методов моего объекта. Я хочу сделать это, потому что у меня есть некоторые базовые методы тестирования, которые выполняют некоторую настройку на моем тестовом объекте, и я не хочу повторно тестировать эту функциональность, поэтому я просто вызываю предыдущий тестовый метод. Если я попытаюсь добавить больше ожиданий после VerifyAll (), я получу исключение: «Это действие недействительно, если фиктивный объект находится в состоянии проверки».

Отчасти моя проблема в том, что я действительно не понимаю, что делают все функции воспроизведения / проверки, я просто скопировал код. Я использую строгие макеты, поэтому любой установочный код должен соответствовать ожиданиям, иначе он не сработает. Я не хочу дублировать ожидания для моего установочного кода.

Есть ли способ сбросить макет, чтобы он был готов начать все сначала?

5
задан captncraig 25 October 2010 в 22:56
поделиться