与Rhino Mocks搭配使用的最佳样式/语法是什么?
时间:2020-03-05 18:50:54 来源:igfitidea点击:
使用Rhino Mocks时,存在多种编写单元测试的方法:
- 标准语法
- 记录/重播语法
- 流利的语法
理想且最无摩擦的方法是什么?
解决方案
回答
有趣的问题!我自己的偏好是基于反射的语法(我想我们是说标准语法的意思)。我认为这是最容易解决的问题,因为它不会添加太多额外的代码:我们可以在接口上直接引用存根,就好像它们已正确实现一样。
我也很喜欢Fluent语法,尽管这很麻烦。 Record / Replay语法与Fluent语法一样繁琐(表面上似乎不那么繁琐),但不那么直观(至少对我而言)。我只使用了NMock2,因此"记录/重播"语法对我来说有点陌生,而Fluent语法却很熟悉。
但是,正如本文所建议的那样,如果我们希望将期望与验证/断言区分开,则应选择Fluent语法。最终,这完全取决于样式和个人喜好:-)
回答
安排,行动,主张。我使用的起订量最低,更喜欢安排,声明,执行和验证。我喜欢在行动之前先设置好所有内容,而不是在最后进行繁重的工作。
回答
对于.NET 2.0,我建议使用记录/播放模型。我们之所以如此,是因为它可以将期望与验证清楚地分开。
using(mocks.Record()) { Expect.Call(foo.Bar()); } using(mocks.Playback()) { MakeItAllHappen(); }
如果我们使用的是.NET 3.5和C3,那么我建议我们使用流利的语法。