Rails 3 - Как мне заставить Rspec spec / & autotest работать? - PullRequest
2 голосов
/ 08 октября 2010

Я был полностью настроен с 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:in требуется ' из спецификации / интеграции / 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 Ответ

3 голосов
/ 11 октября 2010

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

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

...