Rails 3, слишком много способов проверить? - PullRequest
3 голосов
/ 30 января 2011

Если бы вы только начинали в рельсах, по какому пути вы бы рекомендовали новым пользователям перейти на Тестирование .

Все, что я читал о Rails 3, говорит мне, что я должен использовать Rspec 2 . Но Rspec поставляется с целым рядом других вещей, которые мне нужно выучить, например

gem 'capybara'
gem 'database_cleaner'
gem 'cucumber-rails'
gem 'cucumber'
gem 'spork'
gem 'launchy'

А потом один из моих друзей только что сказал мне, что я должен просто придерживаться инфраструктуры тестирования, которая поставляется с rails, и, возможно, просто интегрировать 'musta' в процесс тестирования, потому что он имеет хороший синтаксис.

Когда дело доходит до тестирования , кажется, что у нас слишком много вариантов и слишком много способов что-то сделать. Может быть, это хорошо, но я всегда думал, что рельсы - это создание общих соглашений и отказ от одного и того же действия разными способами.

Я довольно плохо знаком с рельсами.
Я не уверен, с чего начать.
Я чувствую себя подавленным.
Это нормально?

Ответы [ 3 ]

3 голосов
/ 31 января 2011

Поскольку вы начинаете с rails, я бы порекомендовал использовать что-то, что "просто работает", чтобы привыкнуть тестировать ваш код и понимать, как работать с вашей платформой. Не тратьте свое время на сравнение решений, выберите одно и придерживайтесь его для этого проекта.

При этом, я действительно думаю, что это зависит от вашего опыта разработки программного обеспечения:

  • если вы никогда не использовали модульные тесты для своего кода, изучите Test :: Unit и рассмотрите возможность применения TDD.Обратите внимание, что сначала TDD потребуется, чтобы вы посвятили ему большое количество времени, но это окупится, когда вы к нему привыкнете.
  • , если у вас есть значительный опыт работы с тестами кода и вы просто не понимаете, какчтобы начать с rails, я рекомендую следовать через http://railstutorial.org/book. Это (бесплатная) книга Ruby on Rails, которая использует RSpec, Spork и служит отличным введением

После разработки одного проекта изЕсли вы начнете заканчивать использовать платформу тестирования, которую вы выберете сейчас, у вас будет намного лучшая задача по выбору платформы тестирования, которую вы хотите использовать.

Я также рекомендую вам хорошо изучить RSpecперед погружением в огурец.

1 голос
/ 31 января 2011

Но в Rspec есть целый ряд других вещей, которые мне нужно выучить, например ...

На самом деле, вам не нужно изучать эти драгоценные камни, чтобы начатьс RSpec.Просто наберите gem 'rspec-rails и запустите rails generate rspec:install для настройки вашего проекта.

Хороший способ узнать RSpec - посмотреть код, сгенерированный rails generate scaffold.Это создает файлы спецификаций для контроллеров, представлений и маршрутов, которые имеют дело со стандартными действиями RESTful.

При изучении RSpec вы можете добавлять другие драгоценные камни по мере необходимости.Autotest необходимо ИМХО.Webrat добавляет полезные сопоставления для просмотра спецификаций.Factory_girl добавляет поддержку для фабрик.

Spork это здорово, но на самом деле не нужно, пока у вас не будет достаточно спецификаций, чтобы производительность была проблемой.Это нормально?

Меньше это , больше это :)

1 голос
/ 31 января 2011

Похоже, у вас есть опция перегрузки. Что характерно для большинства людей в самых разных ситуациях, даже вне программирования. Абсолютно проще всего для вас было бы использовать то, что Rails устанавливает по умолчанию, которое называется Test :: Unit

Их официальное руководство представляет это здесь: http://guides.rubyonrails.org/testing.html

Как только вы освоитесь с тестированием с использованием простого стиля Test :: Unit, я бы посоветовал вам изучить некоторые из аддонов, упомянутых вашим другом, например, musta (https://github.com/thoughtbot/shoulda), и factory_girl (https://github.com/thoughtbot/factory_girl)

)

Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...