2008-09-10 88 views

回答

0

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

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

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

1

安排,行动,断言。我使用MoQ,更喜欢Arrange,Assert,Act,Verify。在我采取行动之前,我喜欢设置一切,而不是在最后完成繁重的工作。

1

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

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

如果您使用.NET 3.5和C#3,那么我会推荐流畅的语法。