使用Rhino Mocks的最佳样式/语法是什么?

时间:2008-09-10 17:03:21

标签: c# unit-testing syntax rhino-mocks mocking

使用Rhino Mocks时,有多种方法可以编写单元测试:

  • 标准语法
  • 录制/重播语法
  • 流利语法

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

3 个答案:

答案 0 :(得分:1)

安排,行动,断言。所以,我使用MoQ并更喜欢安排,断言,行动,验证。我喜欢在行动之前设置一切,而不是在最后做重物。

答案 1 :(得分:1)

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

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

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

答案 2 :(得分:0)

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

我也非常喜欢Fluent语法,尽管这非常麻烦。记录/重放语法与Fluent语法一样繁琐(如果不是更多,似乎),但不太直观(至少对我来说)。我只使用了NMock2,因此Record / Replay语法对我来说有点陌生,而Fluent语法非常熟悉。

但是,如this post所示,如果您希望将期望与验证/断言分开,则应选择Fluent语法。这完全取决于风格和个人偏好,最终: - )