9

使用 Rhino Mocks 时,存在多种编写单元测试的方法:

  • 标准语法
  • 记录/重播语法
  • 流利的语法

什么是最理想最无摩擦的方式?

4

2 回答 2

1

对于 .NET 2.0,我推荐使用记录/回放模型。我们喜欢这样,因为它清楚地将您的期望与您的验证区分开来。

using(mocks.Record())
{
    Expect.Call(foo.Bar());
}
using(mocks.Playback())
{
    MakeItAllHappen();
}

如果您使用的是 .NET 3.5 和 C# 3,那么我建议您使用流利的语法。

于 2008-09-10T18:06:49.677 回答
0

有趣的问题!我自己的偏好是基于反射的语法(我猜你的意思是标准语法)。我认为这是最顺畅的,因为它不会添加太多额外的代码:您可以直接在接口上引用存根,就好像它们已正确实现一样。

我也很喜欢 Fluent 语法,虽然这很麻烦。Record/Replay 语法和 Fluent 语法一样麻烦(如果不是更麻烦的话,看起来),但不太直观(至少对我来说)。我只使用过 NMock2,所以 Record/Replay 语法对我来说有点陌生,而 Fluent 语法却很熟悉。

但是,正如这篇文章所建议的,如果您希望将您的期望与您的验证/断言分开,您应该选择 Fluent 语法。最终,这完全取决于风格和个人喜好:-)

于 2008-09-10T17:43:47.317 回答