У нас все еще есть приложение на рельсах 2.3.8, но мы обновили его, чтобы оно использовало упаковщик (Gemfile), и оно также работает с rspec и cucumber.
Убедитесь, что вы следуете руководству по сборщику, чтобы сделатьваше приложение правильно использует загрузку гемов Gemfile вместо значений по умолчанию Rails: http://gembundler.com/rails23.html
После того, как вы получите preinitializer.rb и измените config / boot.rb, работающий правильно, вам может потребоваться убедиться, что выиспользуя правильные версии rspec и cucumber.
Я думаю, что просто gem 'rspec-rails'
может попробовать установить rspec 2 для вас, но это работает только на Rails 3 (я полагаю), поэтому вам, возможно, придется специально сказатьчтобы использовать rspec 1.x.
Наша тестовая группа выглядит следующим образом (хотя я думаю, что некоторые из этих драгоценных камней могут быть старше, чем они должны быть, прошло некоторое время, так как мы обновили их со времен рельсов 3)обновление для приложения еще не завершено, мы не слишком беспокоимся о том, как оно выглядит в данный момент):
group :test, :cucumber do
gem 'autotest-fsevent'
gem 'test-unit', '~>1.2.3'
gem "hoe", "1.5.1"
gem 'autotest-rails', '4.1.0'
gem 'rspec', '1.3.2'
gem 'rspec-rails', '1.3.4'
gem 'cucumber', '0.10.0'#, '0.9.0'
# Change this shinanigans to 0.4.0 when it gets released ;)
gem 'cucumber-rails', '0.3.2'
gem 'database_cleaner', '0.5.2'
gem 'capybara', '0.3.9'
gem 'launchy'
gem 'dupe', '0.5.1'
gem 'factory_girl', '1.2.4'
gem 'email_spec', '~>0.6.2', :require => false
end
После этого и запуска bundle install
я могу набрать команду script/generate --help
который включает это в вывод:
Installed Generators
Rubygems: business_time_config, cucumber, culerity, dupe, email_spec, feature, integration_spec, paperclip, rspec, rspec_controller, rspec_model, rspec_scaffold
Builtin: controller, helper, integration_test, mailer, metal, migration, model, observer, performance_test, plugin, resource, scaffold, session_migration
Как вы можете видеть, генераторы cucumber и rspec действительно доступны там.
Я думаю, что ваша проблема может быть в версии rspec, которую он устанавливает,Если он устанавливает rspec версии 2, то это связано с rails 3, который по-разному обрабатывает генераторы в гемах (я считаю, что их нужно поместить в другую структуру каталогов).Возможно, именно поэтому ваше приложение rails 2.3.x их не видит.
Вам не обязательно точно следовать моим версиям, я не фанат (вообще) помещать конкретные версии в Gemfileно мы закончили тем, что делали это здесь еще в далеком прошлом, потому что а) мы не до конца понимали упаковщик и б) нам нужно было убедиться, что мы получаем rails 2.3-совместимые гемы.
Надеюсь, это поможет!Дайте мне знать, если у вас есть вопросы.