RSpec против Shoulda?

Я новичок в сцене модульного тестирования; Я использую юнит-тесты около 2 месяцев. Когда я использую модульное тестирование в Ruby, я в настоящее время следую стилю TDD и использую Test :: Unit :: TestCase. Я также читал о RSpec и о том, как он следует методологии BDD. Я также читал о Shoulda, которая находится между двумя фреймворками. У меня вопрос: какой фреймворк я должен посвятить RSpec или Shoulda, или я должен придерживаться Test :: Unit :: TestCase? Любые мнения по этому поводу приветствуются.


person agentbanks217    schedule 30.08.2010    source источник


Ответы (3)


RSpec имеет много хороших функций, помимо синтаксиса. Я бы порекомендовал его, а не Shoulda.

Даже Thoughtbot, авторы Shoulda, сейчас используют RSpec. Shoulda теперь работает как плагин RSpec и предоставляет ряд полезных сопоставителей.

person Andrew Vit    schedule 30.08.2010

Shoulda дополняет Test :: Unit и RSpec, поэтому я не думаю, что это случай выбора Shoulda вместо RSpec или наоборот. Я использую Shoulda в нескольких проектах, некоторые из которых протестированы с помощью Test :: Unit, другие - с RSpec, и он отлично работает вместе с обоими фреймворками.

Я бы рекомендовал попробовать Shoulda в вашем существующем проекте Test :: Unit. Это может сэкономить вам много нажатий клавиш и сделать ваши тестовые классы немного более аккуратными и последовательными.

Как справедливо говорит Эндрю Вит, команда Shoulda все больше и больше отдает предпочтение RSpec (см. http://robots.oughttbot.com/post/701863189/shoulda-rails3-and-beyond). Стоит попробовать RSpec и посмотреть, понравится ли он вам. Это не всем по вкусу, но я предпочитаю Test :: Unit из-за его синтаксиса, выразительности, вложенных контекстов, настраиваемых сопоставлений и просто всесторонней крутизны! ;-)

person Sidane    schedule 31.08.2010

Нет ни-ни. Используйте различные инструменты тестирования там, где они лучше всего подходят.

Shoulda - отличный инструмент для однострочного тестирования. Это поможет вам сохранить ваши тесты чистыми и краткими. Если вам тоже нравится этот стиль, я бы также порекомендовал драгоценный камень Zebra. Это хороший маленький инструмент для написания однострочных тестов.

person rufus    schedule 10.03.2011