2008-09-10 92 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,那麼我會推薦流暢的語法。