Rails 3 - Как мне заставить Rspec spec/ & autotest работать?

Я был полностью настроен с Rspec и Autotest, прежде чем я обновил до Rails 3.

При запуске rspec spec/ я получаю:

* spec/spec.opts is deprecated.
* please use ./.rspec or ~/.rspec instead.

Я попытался изменить spec.opts на spec.rspec и снова запустить rspec spec/. Но теперь я получаю целый беспорядок предупреждений:

DEPRECATION WARNING: Use toplevel init.rb; rails/init.rb is deprecated:

DEPRECATION WARNING: reset_javascript_include_default is deprecated. Please manipulate config.action_view.javascript_expansions[:defaults] directly. 

DEPRECATION WARNING: RAILS_ENV is deprecated. Please use ::Rails.env.

DEPRECATION WARNING: Use toplevel init.rb; rails/init.rb is deprecated:

DEPRECATION WARNING: You are using the old router DSL which will be removed in Rails 3.1. Please check how to update your routes file at: http://www.engineyard.com/blog/2010/the-lowdown-on-routes-in-rails-3/.

Автотест тоже не работает. Я собираюсь:

.rvm/rubies/ruby-1.9.2-p0/bin/ruby -I.:lib:test -rubygems -e "['test/unit', 'spec/integration/layout_links_spec.rb', 'test/unit/color_test.rb', 'test/functional/products_controller_test.rb', 'spec/integration/users_spec.rb', 'test/functional/colors_controller_test.rb', 'test/unit/product_test.rb', 'test/unit/helpers/products_helper_test.rb', 'test/unit/helpers/colors_helper_test.rb'].each { |f| require f }" | .rvm/gems/ruby-1.9.2-p0/gems/autotest-4.3.2/bin/unit_diff -u

:29: в require': no such file to load -- spec_helper (LoadError) from <internal:lib/rubygems/custom_require>:29:inrequire' from spec/gration/layout_links_spec.rb:1: в <top (required)>' from <internal:lib/rubygems/custom_require>:29:inтребовать от:29: в require' from -e:1:inблок в 'из -e:1: в each' from -e:1:in'

Есть идеи?

1 ответ

Предупреждение об устаревании связано с вашим обновлением до Rails 3, а не с RSpec. Rails 3 имеет совершенно другую архитектуру, и API также значительно изменился. Вы запускали свой проект через плагин rails_upgrade? Кроме того, ознакомьтесь с примечаниями к выпуску Rails 3 для получения справки по исправлению частей вашего приложения, которые зависят от устаревших функций.

Вторая проблема, вероятно, связана с тем, что ruby 1.9.2 больше не помещает текущий каталог в путь загрузки. Вам нужно будет вручную включить spec/ в путь загрузки из ваших spec.opts.

Другие вопросы по тегам