Как я могу сказать Rails использовать RSpec вместо тестового блока при создании нового приложения Rails?

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

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

Ответ 1

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

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

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

в Gemfile:

gem 'rspec-rails'

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

bundle install
rails g rspec:install

Ответ 2

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

rails new <app_name> -T

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

rm -rf test/

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

gem 'rspec-rails'

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

$ bundle install

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

$ rails g rspec:install

Теперь ваше приложение rails использует RSpec вместо тестового блока.

Ответ 3

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

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