RSpec против Shoulda?
Я новичок в модульной тестовой сцене; Я использую модульные тесты уже около 2 месяцев. Когда я unit test в Ruby, я в настоящее время следую стилю TDD и использую Test:: Unit:: TestCase. Я также прочитал о RSpec и о том, как это следует методологии BDD. Я также прочитал о Shoulda, который находится между двумя структурами. Мой вопрос в том, в какой структуре я должен посвятить свое время RSpec или Shoulda, или я должен придерживаться Test:: Unit:: TestCase? Любые мнения по этому вопросу оцениваются.
Ответы
Ответ 1
RSpec имеет много приятных функций, больше, чем просто синтаксис. Я бы порекомендовал его по поводу Shoulda.
Даже Thoughtbot, авторы Shoulda, теперь используют RSpec. Теперь Shoulda работает как плагин RSpec и предоставляет ряд полезных сокетов.
Ответ 2
Посвящение Testa:: Unit и RSpec, поэтому я не думаю, что это случай выбора Shoulda over RSpec или наоборот. Я использую Shoulda для нескольких проектов, некоторые тестируются с помощью Test:: Unit, другие с RSpec, и он отлично работает вместе с обеими структурами.
Я бы порекомендовал попробовать Shoulda в существующем проекте Test:: Unit. Это может сэкономить вам много мазков и сохранить ваши тестовые классы немного более аккуратными и более последовательными.
Как справедливо говорит Эндрю Вит, команда Shoulda выступает за способ RSpec делать все больше и больше (см. http://robots.thoughtbot.com/post/701863189/shoulda-rails3-and-beyond). Стоит попробовать RSpec и посмотреть, как вам это нравится. Это не каждому вкусу, но я предпочитаю его тестировать:: Unit для его синтаксиса, выразительности, вложенных контекстов, пользовательских совпадений и просто круговой прохлады!; -)
Ответ 3
Там нет ни-либо. Используйте различные инструменты тестирования, где они лучше всего подходят.
Shoulda - отличный инструмент для однострочного тестирования. Это поможет вам сохранить ваши тесты чистыми и лаконичными. Если вам нравится этот стиль, я также рекомендую драгоценный камень Zebra. Это хороший инструмент для написания тестов с одним слоем.