Как я могу сказать Rails использовать RSpec вместо test-unit при создании нового приложения Rails? - PullRequest
146 голосов
/ 18 июля 2011

У меня установлено test-unit и rspec (наряду с -core, -expectations, -mocks и -rails версии 2.6.x).Когда я запускаю команду rails new foo, она использует test-unit для генерации тестовых заглушек вместо rspec.

Есть ли опция, где я могу указать rails использовать rspec для генерации тестов?

Ответы [ 4 ]

254 голосов
/ 18 июля 2011

Должно работать следующее:

в командной строке:

rails new MYAPP -T # The -T option tells rails not to include Test::Unit

в Gemfile:

gem 'rspec-rails'

в командной строке:

bundle install
rails g rspec:install
71 голосов
/ 18 июля 2011

Создайте новое приложение для рельсов как:

rails new <app_name> -T

Или удалите каталог test из существующего приложения:

rm -rf test/

Сделайте запись в вашем Gemfile:

gem 'rspec-rails'

Из командной строки установите гем

$ bundle install

Из командной строки установите rspec в ваше приложение:

$ rails g rspec:install

Теперь ваше приложение rails использует RSpec вместо test-unit.

5 голосов
/ 21 февраля 2018

Как только вы создали приложение rails с:

rails new <app_name> -T  # to exclude Test::Unit

Добавьте гем RSpec в свой Gemfile следующим образом:

group :development, :test do
  gem "rspec-rails"
end

В командной строке напишите:

bundle install  # this will install the missing gems

Теперь вам нужно установить RSpec, запустив:

rails generate rspec:install

При этом будут созданы следующие файлы:

create  .rspec
create  spec
create  spec/spec_helper.rb
create  spec/rails_helper.rb

Я настоятельно рекомендовал прочитать все комментарии spec_helper и rails_helper, чтобы лучше понять, что делает каждый параметр.

Когда все настроено, вы можете запустить все свои тесты с помощью:

bundle exec rspec

Подробнее о рекомендуемых конфигурациях spec_helper и rails_helper вы можете прочитать в https://kolosek.com/rails-rspec-setup.

4 голосов
/ 08 января 2014

Я новый разработчик, и я только что сделал флаг rails (-rspec) для решения проблемы OP.Он избавляется от Test :: Unit и вставляет гем rails-rspec с помощью скрипта bash.Сценарий может быть изменен, чтобы помочь разработчикам Linux, автоматически добавляя gem therubyracer или создавая собственные флаги и наборы гемов.(возможно, специально перейдя к этой строке и удалив комментарий)

Вот суть &&, я надеюсь, это кому-то поможет.https://gist.github.com/MTen/8310116

...