我们目前使用Autofac作为IoC容器,遵循DI模型。
最近,我们开始研究MOQ和Rhino Mocks等模拟框架。然而,我们似乎无法证明它们的使用比仅为每个接口创建模拟实现类更有价值。
为什么要这样做:
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();
后者更冗长,但似乎更灵活,适用于复杂的模拟。