使用 Rhino Mocks 时,存在多种编写单元测试的方法:
- 标准语法
- 记录/重播语法
- 流利的语法
什么是最理想最无摩擦的方式?
使用 Rhino Mocks 时,存在多种编写单元测试的方法:
什么是最理想最无摩擦的方式?
对于 .NET 2.0,我推荐使用记录/回放模型。我们喜欢这样,因为它清楚地将您的期望与您的验证区分开来。
using(mocks.Record())
{
Expect.Call(foo.Bar());
}
using(mocks.Playback())
{
MakeItAllHappen();
}
如果您使用的是 .NET 3.5 和 C# 3,那么我建议您使用流利的语法。
有趣的问题!我自己的偏好是基于反射的语法(我猜你的意思是标准语法)。我认为这是最顺畅的,因为它不会添加太多额外的代码:您可以直接在接口上引用存根,就好像它们已正确实现一样。
我也很喜欢 Fluent 语法,虽然这很麻烦。Record/Replay 语法和 Fluent 语法一样麻烦(如果不是更麻烦的话,看起来),但不太直观(至少对我来说)。我只使用过 NMock2,所以 Record/Replay 语法对我来说有点陌生,而 Fluent 语法却很熟悉。
但是,正如这篇文章所建议的,如果您希望将您的期望与您的验证/断言分开,您应该选择 Fluent 语法。最终,这完全取决于风格和个人喜好:-)