Зачем использовать Mocking Framework?

В настоящее время мы следуем модели DI, используя Autofac в качестве контейнера IoC.

Недавно мы начали изучать фреймворки для имитации, такие как MOQ и Rhino Mocks. Однако мы не можем оправдать их использование простым созданием классов реализации Mock для каждого из наших интерфейсов.

Зачем это нужно:

var mock = new Mock<IFoo>();
mock.Setup(foo => foo.DoSomething("ping")).Returns(true);

Вместо этого:

class FooMock : IFoo {
  bool DoSomething(string input) {
    return input == "ping";
  }
}
mock = new FooMock();

Последний вариант более подробный, но кажется более гибким. и подходит для сложных макетов.

5
задан Lawrence Wagerfield 4 July 2011 в 16:56
поделиться