2008-09-10 12 views

ответ

0

Интересный вопрос! Мои предпочтения - это синтаксис, основанный на отражении (что, я думаю, вы подразумеваете под стандартным синтаксисом). Я бы сказал, что это самый трюк, поскольку он не добавляет лишнего кода: вы ссылаетесь на заглушки прямо на своих интерфейсах, как если бы они были правильно реализованы.

Я также очень люблю синтаксис Fluent, хотя это довольно громоздко. Синтаксис Record/Replay столь же громоздкий, как синтаксис Fluent (если не более, по-видимому), но менее интуитивный (по крайней мере, для меня). Я только использовал NMock2, поэтому синтаксис Record/Replay немного чуждо мне, в то время как синтаксис Fluent довольно знаком.

Однако, поскольку this post предлагает, если вы предпочитаете отделять свои ожидания от своих утверждений/утверждений, вы должны выбрать синтаксис Fluent. Это все дело стиля и личных предпочтений, в конечном счете :-)

1

Упорядочить, действовать, утверждать. Tho, я использую 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, я бы рекомендовал свободный синтаксис.