Не удалось найти генератор rspec
Я пытаюсь установить RSpec в качестве драгоценного камня после его установки в качестве плагина. Я пошел дальше и пошел по указателям, найденным здесь http://github.com/dchelimsky/rspec-rails/wikis для раздела под названием rspec и rspec-rails gems, Когда я запускаю ruby script/generate rspec
, я получаю сообщение об ошибке Couldn't find 'rspec' generator
. Работают только плагины? Если да, то почему они даже предлагают драгоценные камни для rspec и rspec-rails? Я запускаю замороженную копию Rails 2.1.2, а версия rpsec и rspec-rails, которую я использую, является самой новой на сегодняшний день (7 ноября 2008 г.) 1.1.11.
EDIT 12 ноября 2008 г.
У меня установлены как rspec, так и rspec-rails. Я распаковал драгоценные камни в папку vender/gems. Оба варианта - версия 1.1.11.
Ответы
Ответ 1
Так как RSpec стал средой тестирования по умолчанию в Rails, вам больше не нужно создавать спецификационные документы с помощью генераторов rspec:
Рельсы 2 Генератор RSpec
rails generate rspec_model mymodel
Рельсы 3 Генератор RSpec
С RSpec в качестве платформы тестирования по умолчанию просто используйте собственные генераторы Rails. Это создаст все необходимые вам файлы, включая тесты RSpec. например.
$rails generate model mymodel
invoke active_record
create db/migrate/20110531144454_create_mymodels.rb
create app/models/mymodel.rb
invoke rspec
create spec/models/mymodel_spec.rb
Ответ 2
Установили ли вы как rspec, так и rspec-rails?
script/generate rspec
требует установки rspec-rails gem.
Ответ 3
Для Rails 3 и rspec 2+
Вы должны убедиться, что вы включили "rspec" и rspec-rails в свой Gemfile
Запустить пакет Bundle Install
затем запустите рельсы g rspec: install
Ответ 4
Если вы используете рельсы 2.3, вам нужно использовать
ruby script/plugin install git://github.com/dchelimsky/rspec-rails.git -r 'refs/tags/1.3.3'
а затем
ruby script/generate rspec
Ответ 5
Должен ли быть генератор 'rspec'? Я использовал только следующее:
script/generate rspec_model mymodel
script/generate rspec_controller mycontroller
Ответ 6
У меня была эта проблема раньше, она сводилась к версии RSpec, с которой я не работал с версией Rails, которую я использовал. IIRC это был 2.1 Rails, и обновленный RSpec не был выпущен как драгоценный камень. Фактически, 1.1.11 - это драгоценный камень, который у меня есть, который будет последним доступным (игнорируя github gems), поэтому я уверен, что именно в чем была моя проблема.
Я решил использовать голову мастера rspec с любой версией Rails, в которой я оказался, он кажется мне стабильным (и не собирается нарушать работу на производстве, если только какой-то тест не сломался с false positive).
Я делаю это с помощью git с использованием подмодулей, например:
git submodule add git://github.com/dchelimsky/rspec.git vendor/plugins/rspec
git submodule add git://github.com/dchelimsky/rspec-rails.git vendor/plugins/rspec_on_rails
Ответ 7
В Fedora 9 (OLPC) я сделал:
$ sudo gem install rspec
$ sudo gem install rspec-rails
Меня привели туда, где я мог бежать
$ ruby script/generate rspec
Это сработало для меня, тогда как инструкции git не работали.
Ответ 8
Если кто-то сейчас задается вопросом о Rails 3,
это, кажется, делает трюк для меня:
http://github.com/rspec/rspec-rails/blob/29817932b99fc45adaa93c3f75d503c69aafcaef/README.markdown
Ответ 9
Я использую рельсы 2.3.9. Я начал пытаться использовать драгоценный камень (ы), но просто не мог заставить генератор для rspec появляться. Затем я установил плагин (ы), используя инструкции https://github.com/dchelimsky/rspec/wiki/rails, и это сделало трюк.
Ответ 10
Если вы используете bundler версии 1.0.8, вы должны $ gem update bundler
перейти к более новой версии 1.0.9.
У меня были те же симптомы, и мне помог обновить упаковщик.
Теперь $ rails g
использует драгоценные камни, определенные в Gemfile. Также я сгруппировал свои драгоценные камни следующим образом:
source 'http://rubygems.org'
gem 'rails', '3.0.3'
gem 'sqlite3-ruby', :require => 'sqlite3'
group :test, :development do
gem 'capybara', '0.4.1.1'
gem 'database_cleaner'
gem 'cucumber-rails'
gem 'rspec-rails', '~> 2.4'
gem 'launchy'
end
(Обратите внимание, что тестовые камни также находятся в группе :development
.)
Хороший день:)
Лукаса
Ответ 11
Если вы наберете script/rails generate
, единственным генератором RSpec, который вы действительно увидите, является rspec:install
. Это потому, что RSpec зарегистрирован в Rails в качестве тестовой среды, поэтому всякий раз, когда вы создаете компоненты приложения, такие как модели, контроллеры и т.д., Вместо тестов Test::Unit
генерируются спецификации RSpec.
Обратите внимание, что генераторы находятся там, чтобы помочь вам начать работу, но они не заменяют ваши собственные примеры, и они гарантируют, что они будут работать из коробки для сценария по умолчанию (ActiveRecord и Webrat).
https://github.com/rspec/rspec-rails
Ответ 12
Возможно, вам понадобится запустить bundle exec:
bundle exec rails g rspec:install
Ответ 13
Вам нужно будет сделать
sudo gem install cucumber-rails