我正在使用Visual Studio单元测试框架,并且需要使用模拟框架。我不确定我应该选择哪一个模拟框架NMock2,Rhino mock。你能分享一下你的经验吗?谢谢!
发布于 2009-04-08 18:20:36
如果您正在使用C#3.5,我也会强烈地考虑Moq。Rhino文档没有明确区分您可以使用的“语法”的数量,这很容易导致在编写测试时混淆,从而导致各种错误。
在过去的两个月里,我向Rhino介绍了自己,并将其纳入我们正在开发的新产品版本的测试中,现在我正在将所有内容都改为Moq。我根本无法将Rhino介绍给我们的开发人员并获得成功,因为学习曲线太耗时了,收获很小。我不关心他们是否理解存根和模拟之间的区别,部分的、严格的还是完整的。
Moq API的简单性和可发现性意味着我们所有的开发人员都可以立即开始模仿,而不需要关心微不足道的差异。我想这有助于我们的管理者和Moq的创建者在模仿方面有相同的哲学。
发布于 2009-04-08 18:09:53
我对使用AAA (排列-动作-断言)模式的RhinoMocks非常满意。我能够很快地掌握它,并且能够在不求助于手部模拟的情况下完成几乎所有我需要的事情。RhinoMocks中提供的其他一些使用模式对我来说不太清楚,所以我建议使用AAA。
// Arrange
var mock = MockRepository.GenerateMock<IMyInterface>();
mock.Expect( m => m.Method() ).Return( value ).Repeat.AtLeastOnce();
// Act
var testClass = new TestClass( mock ); // injection of mocked object
var expected = ...expected result from method...
var actual = testClass.TestMethod();
// Assert
Assert.AreEqual( expected, actual );
mock.VerifyAllExpectations();https://stackoverflow.com/questions/731093
复制相似问题