2011-01-30 3 views
3

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

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

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

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

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

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

ответ

3

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

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

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

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

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

+0

Спасибо за отзыв, я буду следовать этому пути – alenm

1

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

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

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

Удачи вам!

1

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

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

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

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

Spork Отлично, но на самом деле не обязательно, пока у вас недостаточно спецификаций, которые являются проблемой.

Я чувствую себя подавленным. Это нормально?

Меньше this, больше this :)

+0

Я смотрю на Rspec эшафот. Это несколько помогает. Хорошая видео-ссылка :) – alenm

Смежные вопросы