Как лучше всего протестировать приложение для рельсов? - PullRequest
8 голосов
/ 07 января 2011

Я новичок в тестировании в Rails.Я решил изучить Test Driven Development и, следовательно, я изучаю, как это сделать в рельсах.

Я начал с Test :: Unit и вскоре узнал, что доступны лучшие инструменты и платформы тестирования.Вещи, о которых я слышал:

  1. Стоит
  2. Мокко
  3. Rspec
  4. Огурец
  5. Factory Girl

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

Я создаю приложение в Rails 3.0

Ответы [ 3 ]

18 голосов
/ 07 января 2011

Как лучше всего протестировать приложение rails?

Сначала тест.

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

  • Ifa - это тестовый фреймворк для запуска тестов и набор сопоставителей и утверждений для написания тестов.
  • Mocha - библиотека для насмешек и заглушек.
  • Rspec - это тестовый фреймворк, который включает в себя инструменты для проверки и сопоставления.
  • Cucumber - это фреймворк для написания функциональных тестов.
  • Factory Girl - это фреймворк для создания доменных объектов, которые вы используете в своих тестах.

Из них либо Ifa, либо Rspec могут заменить Test :: Unit, в то время как остальные предоставляют инструменты для различных областей тестирования. Какой из них вам нужен, зависит от того, что, по вашему мнению, сделает написание тестов более простым и эффективным.

Для тех, кто привык тестировать :: модульные тесты и заинтересован в изучении дополнительных инструментов, я бы предложил следующее.

Если у вас есть существующий проект, использующий Test :: Unit, рассмотрите возможность добавления насмешек и заглушки Mocha и посмотрите, позволяет ли это вам легче писать сфокусированные модульные тесты. Если у вас уже есть приборы, рассмотрите возможность использования Factory Girl для генерации фабрик, поскольку вы добавляете новые объекты модели и снова смотрите, не найдете ли вы, что облегчает управление и сопровождение ваших тестов. Если у вас уже есть солидный набор модульных тестов, подумайте об использовании Cucumber для написания функциональных тестов более высокого уровня, чтобы начать сбор пользовательских историй в тестах и ​​тестировать ваше приложение от начала до конца.

Если вы начинаете новый проект, начните с Rspec и Factory Girl. Rspec познакомит вас с совершенно другим стилем тестирования, чем Test :: Unit, но вы все равно будете писать довольно знакомые модульные тесты, и он предоставляет заглушки, макеты и совпадения, которые позволят вам погрузиться в тестирование без взрыва слишком большого количества новых драгоценные камни в вашем проекте. Factory Girl предоставит вам удобный способ создания доменных объектов, так как ваши тесты требуют их. Между этими двумя вы должны быть в состоянии выбрать кучу новых приемов тестирования, все еще работая с вашим обычным рабочим процессом модульного тестирования.

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

Вы проверяли учебник Майкла Хартла по RoR 3?

Учебное пособие по Ruby on Rails 3 от Michael Hartl

Он интегрировал хороший учебник по Rails 3 с некоторыми основами использования RSpec и Factory Girl.

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

Лично я использую в своих приложениях Cucumber, RSpec и Factory Girl.Что касается ресурса, я пишу книгу под названием Rails 3 в действии , в которой используются эти инструменты (и, конечно, сам Rails) для разработки приложения.

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