Каков наилучший стиль / синтаксис для использования с Rhino Mocks? - PullRequest
8 голосов
/ 10 сентября 2008

Существует несколько подходов для написания ваших модульных тестов при использовании Rhino Mocks:

  • Стандартный синтаксис
  • Синтаксис записи / воспроизведения
  • Свободный синтаксис

Каков идеальный и самый удобный способ?

Ответы [ 3 ]

1 голос
/ 10 сентября 2008

Организовать, действовать, утверждать. То есть я использую MoQ и предпочитаю Arrange, Assert, Act, Verify. Мне нравится все настраивать до того, как я начну действовать, а не делать тяжелую работу в конце.

1 голос
/ 10 сентября 2008

Для .NET 2.0 я рекомендую модель записи / воспроизведения. Нам это нравится, потому что оно четко отделяет ваши ожидания от ваших проверок.

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

Если вы используете .NET 3.5 и C # 3, я бы порекомендовал свободный синтаксис.

0 голосов
/ 10 сентября 2008

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

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

Однако, как указывает в этом посте , если вы предпочитаете отделять ваши ожидания от ваших проверок / утверждений, вы должны выбрать синтаксис Fluent. Все зависит от стиля и личных предпочтений: -)

...