Подтвердить что ты не робот

Rspec против TestUnit

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

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

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

4b9b3361

Ответ 1

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

Ответ 2

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

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

Ответ 3

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

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

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

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

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

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

Ответ 4

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

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

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

Ответ 5

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

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

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

Ответ 6

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