Rspec против TestUnit

Я начинаю этап планирования создания набора тестирования для моего приложения rails 3.0.8. Я пытаюсь решить, какой фреймворк / драгоценные камни использовать. Обычно я предпочитаю максимально придерживаться соглашения Rails. Однако это означает использование TestUnit. Есть много конкурирующих тестовых фреймворков, которые были созданы в качестве альтернативы TestUnit. Стал ли TestUnit лучше с годами, или это не очень хороший соперник?

Я также слышал много хорошего о rspec. Близки ли rspec и TestUnit по функциональности, или rspec вытесняет TestUnit из воды?

Какой бы фреймворк я ни выбрал, я бы предпочел, чтобы у него была хорошая база поддержки (множество пользователей и документация), простота использования / простота и надежное будущее.


person dhulihan    schedule 17.06.2011    source источник
comment
Как я уже сказал в этом ответе, я предлагаю вам чтобы прочитать эту книгу, чтобы узнать, как протестировать приложение Rails и выяснить, какое инструменты, которые вы хотите использовать   -  person Adrien Coquio    schedule 17.06.2011
comment
Почти дубликаты: RSpec vs Test :: Unit в Rails on SoftwareEngineering.SE и RSpec против Shoulda   -  person sondra.kinsey    schedule 07.12.2019


Ответы (6)


И Test :: Unit, и Rspec - очень хорошие решения. Что касается меня, я предпочитаю использовать RSpec в моем проекте Rails - потому что он имеет множество автоматических решений, таких как автотест, выделение синтаксиса, команды быстрого доступа, такие как rake spec, и другие вещи, которые упрощают использование тестирования. Но в своих простых скриптах на Ruby я использую Test :: Unit - он очень легкий и надежный, когда вам не нужно сложное тестирование (интеграционное и другие).

person bor1s    schedule 17.06.2011

Ответ - дело вкуса, используйте оба в одном проекте и найдите сами, что вам больше по душе. (Я занимаюсь Test :: Unit, RSpec для меня слишком много сахара).

Обновление 2014 г.: поскольку Ruby 2.x имеет встроенный MiniTest, я бы посоветовал в конечном итоге проверить MiniTest :: Spec, который является простым расширением BDD. Вы можете смешивать блоки «описать» и «это», чтобы хорошо структурировать тестовые контексты. Он также предоставляет сопоставители "must_be ..", если вы хотите, чтобы число совпадений превышало assert.

person gertas    schedule 17.06.2011

Я предпочитаю и использую эти драгоценные камни для тестирования

  • Rspec
  • Faker (для создания случайных и правильных данных для базы данных)
  • Изготовление (для простого создания экземпляров)

Чтобы начать работу с rspec, взгляните на эту презентацию. В нем есть все необходимые примеры:

http://kerryb.github.com/iprug-rspec-presentation

Также прочтите эти статьи на rspec:

http://relishapp.com/rspec/rspec-rails

person makaroni4    schedule 17.06.2011

Эта статья о Ruby Inside, особенно если вы переходите по ссылкам и читаете комментарии, предоставляет достаточно подробное обсуждение относительных достоинств Test :: Unit и RSpec. Ключевым отличием, по-видимому, является следующее:

  • люди, у которых нет технических клиентов, с большей вероятностью отнесутся к RSpec и Cucumber более благосклонно;
  • другие с большей вероятностью предпочтут более прямые системы, такие как Test :: Unit.

Также см. эту часть руководства Майкла Хартла по Rails для сравнения RSpec и Cucumber. .

person Community    schedule 06.06.2012

Вы можете использовать rspec с cucumber и webrat драгоценными камнями, что составляет отличную комбинацию, если у вас большой веб-сайт. Сначала это будет громоздко, но позже это принесет огромную пользу.

Вы можете посмотреть следующие выпуски железнодорожных передач, чтобы узнать больше об этих жемчужинах:
155 Начиная с Cucumber
156 Webrat
157 RSpec Matchers & Macros
159 Подробнее о Cucumber

Есть также некоторые другие жемчужины, такие как capybara, который является относительно новым и многообещающим, но, честно говоря, я не пробовал его.

person wael34218    schedule 17.06.2011

Если вы начинаете свой путь с тестирования приложения Rails, я бы порекомендовал вам начать делать это с TestUnit. Вы можете найти очень хороший курс о лучшем приложении для тестирования рельсов и передовых методах на http://www.codeschool.com/courses/rails-testing-for-zombies Если у вас больше опыта в тестировании, вы можете попробовать RSpec.

person luacassus    schedule 16.04.2012