Это характеристики динамического макета :
Dynamic Mock - Свободная семантика воспроизведения. Создано путем вызова DynamicMock ()
Свободная семантика воспроизведения : Все вызовы методов во время состояния воспроизведения принимаются. Если для данного метода нет специальной настройки обработки, возвращается ноль или ноль. Все ожидаемые методы должны быть вызваны, чтобы объект прошел проверку.
В более ранних версиях вы должны были явно создать один:
var mocks = new MockRepository();
var service = mocks.DynamicMock<IService>();
В настоящее время макеты по умолчанию считаются динамическими, если вы создаете их методом MockRepository.GenerateMock<T>()
. Ожидания вызова заказа также не имеет значения . Предполагая, что мы получили ожидания, настроенные как показано ниже:
var dependency = MocksRepository.GenerateMock<IDependency>();
dependency.Expect(d => d.SecondMethod());
dependency.Expect(d => d.FirstMethod());
Проверенный код, как в примере ниже
public void DoWork()
{
this.Dependency.FirstMethod();
this.Dependency.SecondMethod();
this.Dependency.ThirdMethod();
}
не приведет к сбою теста. Порядок не имеет значения, неожиданные вызовы игнорируются и возвращают значения по умолчанию.