Как добавить первый огуречный тест в приложение Rails

#ruby-on-rails #rspec #cucumber #capybara #rspec-rails

#ruby-on-rails #rspec #cucumber #capybara #rspec-rails

Вопрос:

Признание: я никогда не писал ни одного теста для Rails.

Я установил драгоценные камни cucumber, rspec, capybara, factory girl. Запуск Rails 3.1.

Я не уверен, где создать новый тестовый файл или как его назвать.

Спасибо за ваше терпение.

Ответ №1:

У Майкла Хартла есть хороший учебник по Rails, который в основном ориентирован на тестирование:
http://ruby.railstutorial.org/
Вы, вероятно, знаете большую часть этого, но это укажет вам правильное направление.

Вот Rails, выполненный на Cucumber:
http://railscasts.com/episodes/155-beginning-with-cucumber

Вот RSpec Rails Cast:
http://railscasts.com/episodes/71-testing-controllers-with-rspec

Вот несколько примеров Cucumber:
https://github.com/cucumber/cucumber/tree/master/examples/i18n

Надеюсь, это поможет!

Ответ №2:

после установки rspec и cucumber необходимо выполнить следующие команды

rails генерирует rspec: установка для rspec

первая команда настроит rails generate command и создаст каталог спецификаций, который будет содержать тесты для ваших моделей, контроллеров, представлений. в соответствующем каталоге вы можете написать тест rspec

например. Если у вас есть модель пользователя, тогда будут введены спецификации для пользователя

spec/models/user_spec.rb

вот и все

для запуска этих тестов используйте

спецификация rspec/models/user_spec.rb

который выведет, пройдены ли тесты или нет

cucumber описывает поведение приложения

и rspec описывает поведение объекта

rails генерирует cucumber: установка для cucumber

который создаст каталог функций в корне вашего приложения

внутри этого вы можете написать огуречный тест.расширение функции

например. Если в вашем приложении есть такая функция, как создание пользователя, эта функция будет включена

функции/файл creating_user.feature

и определение шага для этой функции будет включено

функции/step_definitions/create_user_steps.rb

ну, это просто короткая направляющая, которую вы можете использовать по следующим ссылкам

для cucumber http://loudcoding.com/posts/quick-tutorial-starting-with-cucumber-and-capybara-bdd-on-rails-project /

Ответ №3:

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

Затем напишите тесты для частей, которые, скорее всего, сломаются.