Rails3 Tutorial: ошибка автотеста - PullRequest
1 голос
/ 17 июля 2011

Я читаю "Учебник по Ruby on Rails3", и автотест у меня работал нормально.Затем я обновил несколько драгоценных камней в своем gemfile (после создания модели User в начале главы 6 я дважды проверил что-то в онлайн-версии книги и заметил более свежие версии gem, указанные в Gemfile).Теперь автотест не будет работать вообще - он просто говорит, что не может запускать какие-либо тесты.

Я изменил все версии gem обратно на версии, которые я первоначально указал в Gemfile (то есть те, которые указаны впечатать книгу), но я не могу заставить работать автотест больше.Вот ошибка, которую я получаю:

$ autotest
loading autotest/rails_rspec2


--------------------------------------------------------------------------------


/Users/Me/.rvm/rubies/ruby-1.9.2-p180/bin/ruby -rrubygems -S /Users/Me/.rvm/gems/ruby-    1.9.2-p180@rails3tutorial/gems/rspec-core-2.6.4/bin/rspec --tty '/Users/Me/rails_projects/sample_app/spec/controllers/pages_controller_spec.rb' '/Users/Me/rails_projects/sample_app/spec/controllers/users_controller_spec.rb' '/Users/Me/rails_projects/sample_app/spec/models/user_spec.rb' '/Users/Me/rails_projects/sample_app/spec/requests/layout_links_spec.rb'
Exception encountered: #<OptionParser::InvalidOption: --tty>
backtrace:
/Users/Me/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/rspec-core-2.0.1/lib/rspec/core/option_parser.rb:18:in `parse!'
/Users/Me/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/rspec-core-2.0.1/lib/rspec/core/option_parser.rb:4:in `parse!'
/Users/Me/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/rspec-core-2.0.1/lib/rspec/core/configuration_options.rb:64:in `parse_command_line_options'
/Users/Me/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/rspec-core-2.0.1/lib/rspec/core/configuration_options.rb:46:in `parse_options'
/Users/Me/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/rspec-core-2.0.1/lib/rspec/core/command_line.rb:7:in `initialize'
/Users/Me/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/rspec-core-2.0.1/lib/rspec/monkey/spork/test_framework/rspec.rb:4:in `new'
/Users/Me/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/rspec-core-2.0.1/lib/rspec/monkey/spork/test_framework/rspec.rb:4:in `run_tests'
/Users/Me/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/spork-0.8.4/lib/spork/run_strategy/forking.rb:13:in `block in run'
/Users/Me/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/spork-0.8.4/lib/spork/forker.rb:21:in `block in initialize'
/Users/Me/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/spork-0.8.4/lib/spork/forker.rb:18:in `fork'
/Users/Me/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/spork-0.8.4/lib/spork/forker.rb:18:in `initialize'
/Users/Me/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/spork-0.8.4/lib/spork/run_strategy/forking.rb:9:in `new'
/Users/Me/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/spork-0.8.4/lib/spork/run_strategy/forking.rb:9:in `run'
/Users/Me/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/spork-0.8.4/lib/spork/server.rb:47:in `run'
/Users/Me/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/drb/drb.rb:1558:in `perform_without_block'
/Users/Me/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/drb/drb.rb:1518:in `perform'
/Users/Me/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/drb/drb.rb:1592:in `block (2 levels) in main_loop'
/Users/Me/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/drb/drb.rb:1588:in `loop'
/Users/Me/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/drb/drb.rb:1588:in `block in main_loop'

Я остановил и перезапустил сервер spork и rails, но автотест все равно не будет работать для меня.

Это ошибка, которую я получаю сболее новые версии gem в Gemfile:

$ autotest
loading autotest/rails_rspec2


--------------------------------------------------------------------------------

/Users/Me/.rvm/rubies/ruby-1.9.2-p180/bin/ruby -rrubygems -S /Users/Me/.rvm/gems/ruby-                  1.9.2-p180@rails3tutorial/gems/rspec-core-2.6.4/bin/rspec --tty                  '/Users/Me/rails_projects/sample_app/spec/controllers/pages_controller_spec.rb'             '/Users/Me/rails_projects/sample_app/spec/controllers/users_controller_spec.rb'          '/Users/Me/rails_projects/sample_app/spec/models/user_spec.rb'           '/Users/Me/rails_projects/sample_app/spec/requests/layout_links_spec.rb'
Exception encountered: #<NameError: uninitialized constant PagesController>
backtrace:
/Users/Me/rails_projects/sample_app/spec/controllers/pages_controller_spec.rb:3:in `<top       (required)>'
/Users/Me/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/rspec-core-     2.6.4/lib/rspec/core/configuration.rb:419:in `block in load_spec_files'
/Users/Me/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/rspec-core-2.6.4/lib/rspec/core/configuration.rb:419:in `map'
/Users/Me/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/rspec-core-2.6.4/lib/rspec/core/configuration.rb:419:in `load_spec_files'
/Users/Me/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/rspec-core-2.6.4/lib/rspec/core/command_line.rb:18:in `run'
/Users/Me/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/rspec-core-2.6.4/lib/rspec/monkey/spork/test_framework/rspec.rb:5:in `run_tests'
/Users/Me/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/spork-0.9.0.rc8/lib/spork/run_strategy/forking.rb:13:in `block in run'
/Users/Me/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/spork-0.9.0.rc8/lib/spork/forker.rb:21:in `block in initialize'
/Users/Me/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/spork-0.9.0.rc8/lib/spork/forker.rb:18:in `fork'
/Users/Me/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/spork-0.9.0.rc8/lib/spork/forker.rb:18:in `initialize'
/Users/Me/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/spork-0.9.0.rc8/lib/spork/run_strategy/forking.rb:9:in `new'
/Users/Me/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/spork-0.9.0.rc8/lib/spork/run_strategy/forking.rb:9:in `run'
/Users/Me/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/spork-0.9.0.rc8/lib/spork/server.rb:48:in `run'
/Users/Me/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/drb/drb.rb:1558:in `perform_without_block'
/Users/Me/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/drb/drb.rb:1518:in `perform'
/Users/Me/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/drb/drb.rb:1592:in `block (2 levels) in main_loop'
/Users/Me/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/drb/drb.rb:1588:in `loop'
/Users/Me/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/drb/drb.rb:1588:in `block in main_loop'

Спасибо за все ответы:

Я даже не уверен, откуда взялся rspec-core-2.6.4 (я вижу, что он упоминалсяв сообщении об ошибке).Две версии rspec, которые я пробовал в своем Gemfile: rspec 2.0.1 и rspec-rails 2.6.2.Следуя советам, вот что я попробовал:

Gemfile (это оригинальные версии книги, которые раньше работали с автотестами)

source 'http://rubygems.org'

gem 'rails', '3.0.9'  #different in book

# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'

#***updated gem versions from online book****
#gem 'sqlite3', '1.3.3'
gem 'sqlite3-ruby', '1.2.5', :require => 'sqlite3'

group :development do
  #gem 'rspec-rails', '2.6.1'
  gem 'rspec-rails', '2.0.1'
  gem 'annotate', '2.4.0'  #different in book
end

group :test do
  #gem 'rspec-rails', '2.6.1'
  gem 'rspec', '2.0.1'
  gem 'webrat', '0.7.1'
  #gem 'spork', '0.9.0.rc8'
  gem 'spork', '0.8.4'
end

sample_app Me$ bundle install
Using rake (0.9.2) 
Using abstract (1.0.0) 
Using activesupport (3.0.9) 
Using builder (2.1.2) 
Using i18n (0.5.0) 
Using activemodel (3.0.9) 
Using erubis (2.6.6) 
Using rack (1.2.3) 
Using rack-mount (0.6.14) 
Using rack-test (0.5.7) 
Using tzinfo (0.3.29) 
Using actionpack (3.0.9) 
Using mime-types (1.16) 
Using polyglot (0.3.1) 
Using treetop (1.4.9) 
Using mail (2.2.19) 
Using actionmailer (3.0.9) 
Using arel (2.0.10) 
Using activerecord (3.0.9) 
Using activeresource (3.0.9) 
Using annotate (2.4.0) 
Using bundler (1.0.15) 
Using diff-lcs (1.1.2) 
Using nokogiri (1.5.0) 
Using rdoc (3.8) 
Using thor (0.14.6) 
Using railties (3.0.9) 
Using rails (3.0.9) 
Using rspec-core (2.0.1) 
Using rspec-expectations (2.0.1) 
Using rspec-mocks (2.0.1) 
Using rspec (2.0.1) 
Using rspec-rails (2.0.1) 
Using spork (0.8.4) 
Using sqlite3-ruby (1.2.5) 
Using webrat (0.7.1) 
Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed.

sample_app Me$ bundle update
Fetching source index for http://rubygems.org/
Using rake (0.9.2) 
Using abstract (1.0.0) 
Using activesupport (3.0.9) 
Using builder (2.1.2) 
Using i18n (0.5.0) 
Using activemodel (3.0.9) 
Using erubis (2.6.6) 
Using rack (1.2.3) 
Using rack-mount (0.6.14) 
Using rack-test (0.5.7) 
Using tzinfo (0.3.29) 
Using actionpack (3.0.9) 
Using mime-types (1.16) 
Using polyglot (0.3.1) 
Using treetop (1.4.9) 
Using mail (2.2.19) 
Using actionmailer (3.0.9) 
Using arel (2.0.10) 
Using activerecord (3.0.9) 
Using activeresource (3.0.9) 
Using annotate (2.4.0) 
Using bundler (1.0.15) 
Using diff-lcs (1.1.2) 
Using nokogiri (1.5.0) 
Using rdoc (3.8) 
Using thor (0.14.6) 
Using railties (3.0.9) 
Using rails (3.0.9) 
Using rspec-core (2.0.1) 
Using rspec-expectations (2.0.1) 
Using rspec-mocks (2.0.1) 
Using rspec (2.0.1) 
Using rspec-rails (2.0.1) 
Using spork (0.8.4) 
Using sqlite3-ruby (1.2.5) 
Using webrat (0.7.1) 
Your bundle is updated! Use `bundle show [gemname]` to see where a bundled gem is installed.

sample_app Me$ bundle show spork

/Users/Me/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/spork-0.8.4

sample_app Me$ bundle exec spork
/Users/Me/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/spork-    0.9.0.rc8/lib/spork/test_framework/cucumber.rb:2: warning: already initialized constant    DEFAULT_PORT
/Users/Me/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/spork-    0.9.0.rc8/lib/spork/test_framework/cucumber.rb:3: warning: already initialized constant HELPER_FILE
/Users/Me/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/spork-0.9.0.rc8/lib/spork/test_framework/rspec.rb:2: warning: already initialized constant DEFAULT_PORT
/Users/Me/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/spork-0.9.0.rc8/lib/spork/test_framework/rspec.rb:3: warning: already initialized constant     HELPER_FILE
Using RSpec
Loading Spork.prefork block...
Spork is ready and listening on 8989!

Но я когдаЯ открываю новое окно терминала и выполняю:

sample_app Me$ autotest

Я получаю ту же ошибку --tty.Команда:

sample_app Me$ bundle exec autotest 

выдает Gem :: LoadError, и я не думаю, что она должна работать, так как автотест отсутствует в моем Gemfile.

При использовании я получаю другую ошибкуGemfile с обновленными версиями gem:

source 'http://rubygems.org'

gem 'rails', '3.0.9'

# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'

#***updated gem versions from online book****
gem 'sqlite3', '1.3.3'
#gem 'sqlite3-ruby', '1.2.5', :require => 'sqlite3'

group :development do
  gem 'rspec-rails', '2.6.1'
  #gem 'rspec-rails', '2.0.1'
  gem 'annotate', '2.4.0'
end

group :test do
  gem 'rspec-rails', '2.6.1'
  #gem 'rspec', '2.0.1'
  gem 'webrat', '0.7.1'
  gem 'spork', '0.9.0.rc8'
  #gem 'spork', '0.8.4'
end

sample_app Me$ bundle install
Using rake (0.9.2) 
Using abstract (1.0.0) 
Using activesupport (3.0.9) 
Using builder (2.1.2) 
Using i18n (0.5.0) 
Using activemodel (3.0.9) 
Using erubis (2.6.6) 
Using rack (1.2.3) 
Using rack-mount (0.6.14) 
Using rack-test (0.5.7) 
Using tzinfo (0.3.29) 
Using actionpack (3.0.9) 
Using mime-types (1.16) 
Using polyglot (0.3.1) 
Using treetop (1.4.9) 
Using mail (2.2.19) 
Using actionmailer (3.0.9) 
Using arel (2.0.10) 
Using activerecord (3.0.9) 
Using activeresource (3.0.9) 
Using annotate (2.4.0) 
Using bundler (1.0.15) 
Using diff-lcs (1.1.2) 
Using nokogiri (1.5.0) 
Using rdoc (3.8) 
Using thor (0.14.6) 
Using railties (3.0.9) 
Using rails (3.0.9) 
Using rspec-core (2.6.4) 
Using rspec-expectations (2.6.0) 
Using rspec-mocks (2.6.0) 
Using rspec (2.6.0) 
Using rspec-rails (2.6.1) 
Using spork (0.9.0.rc8) 
Using sqlite3 (1.3.3) 
Using webrat (0.7.1) 
Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed.

-

sample_app Me$ bundle update
Fetching source index for http://rubygems.org/
Using rake (0.9.2) 
Using abstract (1.0.0) 
Using activesupport (3.0.9) 
Using builder (2.1.2) 
Using i18n (0.5.0) 
Using activemodel (3.0.9) 
Using erubis (2.6.6) 
Using rack (1.2.3) 
Using rack-mount (0.6.14) 
Using rack-test (0.5.7) 
Using tzinfo (0.3.29) 
Using actionpack (3.0.9) 
Using mime-types (1.16) 
Using polyglot (0.3.1) 
Using treetop (1.4.9) 
Using mail (2.2.19) 
Using actionmailer (3.0.9) 
Using arel (2.0.10) 
Using activerecord (3.0.9) 
Using activeresource (3.0.9) 
Using annotate (2.4.0) 
Using bundler (1.0.15) 
Using diff-lcs (1.1.2) 
Using nokogiri (1.5.0) 
Using rdoc (3.8) 
Using thor (0.14.6) 
Using railties (3.0.9) 
Using rails (3.0.9) 
Using rspec-core (2.6.4) 
Using rspec-expectations (2.6.0) 
Using rspec-mocks (2.6.0) 
Using rspec (2.6.0) 
Using rspec-rails (2.6.1) 
Using spork (0.9.0.rc8) 
Using sqlite3 (1.3.3) 
Using webrat (0.7.1) 
Your bundle is updated! Use `bundle show [gemname]` to see where a bundled gem is installed.

sample_app Me$ bundle show spork
/Users/Me/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/spork-0.9.0.rc8

sample_app Me$ bundle exec spork
Using RSpec
Preloading Rails environment
Loading Spork.prefork block...
Spork is ready and listening on 8989!

-

sample_app Me$ autotest
loading autotest/rails_rspec2


--------------------------------------------------------------------------------


/Users/Me/.rvm/rubies/ruby-1.9.2-p180/bin/ruby -rrubygems -S /Users/Me/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/rspec-core-2.6.4/bin/rspec --tty '/Users/Me/rails_projects/sample_app/spec/controllers/pages_controller_spec.rb' '/Users/Me/rails_projects/sample_app/spec/controllers/users_controller_spec.rb' '/Users/Me/rails_projects/sample_app/spec/models/user_spec.rb' '/Users/Me/rails_projects/sample_app/spec/requests/layout_links_spec.rb'
Exception encountered: #<NameError: uninitialized constant PagesController>
backtrace:
/Users/Me/rails_projects/sample_app/spec/controllers/pages_controller_spec.rb:3:in `<top (required)>'
/Users/Me/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/rspec-core-2.6.4/lib/rspec/core/configuration.rb:419:in `block in load_spec_files'
/Users/Me/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/rspec-core-2.6.4/lib/rspec/core/configuration.rb:419:in `map'
/Users/Me/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/rspec-core-2.6.4/lib/rspec/core/configuration.rb:419:in `load_spec_files'
/Users/Me/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/rspec-core-2.6.4/lib/rspec/core/command_line.rb:18:in `run'
/Users/Me/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/rspec-core-2.6.4/lib/rspec/monkey/spork/test_framework/rspec.rb:5:in `run_tests'
/Users/Me/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/spork-0.9.0.rc8/lib/spork/run_strategy/forking.rb:13:in `block in run'
/Users/Me/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/spork-0.9.0.rc8/lib/spork/forker.rb:21:in `block in initialize'
/Users/Me/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/spork-0.9.0.rc8/lib/spork/forker.rb:18:in `fork'
/Users/Me/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/spork-0.9.0.rc8/lib/spork/forker.rb:18:in `initialize'
/Users/Me/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/spork-0.9.0.rc8/lib/spork/run_strategy/forking.rb:9:in `new'
/Users/Me/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/spork-0.9.0.rc8/lib/spork/run_strategy/forking.rb:9:in `run'
/Users/Me/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/spork-0.9.0.rc8/lib/spork/server.rb:48:in `run'
/Users/Me/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/drb/drb.rb:1558:in `perform_without_block'
/Users/Me/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/drb/drb.rb:1518:in `perform'
/Users/Me/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/drb/drb.rb:1592:in `block (2 levels) in main_loop'
/Users/Me/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/drb/drb.rb:1588:in `loop'
/Users/Me/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/drb/drb.rb:1588:in `block in main_loop'

И это появляется в окне Spork:

Running tests with args ["--color", "--tty", "/Users/Me/rails_projects/sample_app/spec/controllers/pages_controller_spec.rb", "/Users/Me/rails_projects/sample_app/spec/controllers/users_controller_spec.rb", "/Users/Me/rails_projects/sample_app/spec/models/user_spec.rb", "/Users/Me/rails_projects/sample_app/spec/requests/layout_links_spec.rb"]...
Done.

Я снова заработал на автотесте, убрав весь набор rails3tutorial gemset.Подробная информация об этом приведена на стр. 90, глава 3.

1) After doing:
$ gem install rails
I started at the beginning of Chapter 3 using the Gemfile with the earlier gem versions(posted above). Followed by:
2) $ bundle install
3) $ rails generate rspec:install
4) Then I continued with the steps on p. 85, Chapter 3:
$ gem install autotest -v 4.3.2 (don't use sudo with rvm!)
$ gem install autotest
(Growl is already installed)
$gem install autotest-fsevent -v 0.2.2
$gem install autotest-growl -v 0.2.4

5) Then before doing:

$ spork --bootstrap

I copied and pasted spec/spec_helper.rb into a text editor, then I deleted spec/spec_helper.rb:

$ rm spec/spec_helper.rb

then:

$ spork --bootstrap

Then I copied and pasted the text in the text editor into the newly created spec/spec_helper.rb

6) $ bundle exec spork
7) Then I opened up a new Terminal window, and did:
$ autotest

Поскольку я мазохист, я подумал, что попробую обновить Gemfile до более новых версий, а после выполнения 'Установка пакета 'и' обновление пакета ', я получил точно такую ​​же ошибку PagesController, как и раньше.И снова, когда я изменил версии gem обратно на более ранние версии в моем Gemfile, и я выполнил «установку комплекта» и «обновление комплекта», я получил ошибку -tty.Я собираюсь снова взорвать набор гемов rails3tutorial, и на этот раз я начну с более новых версий в моем Gemfile, чтобы посмотреть, работает ли он.

Я снова взломал набор гемов rails3tutorial, и на этот раз я начал сGemfile, содержащий более новые версии драгоценных камней, перечисленных в онлайн-книге, И:

1) Я установил более новые версии различных самоустанавливающихся драгоценных камней, указанных в онлайн-версии книги.

И

2) Я изменил файл spec / spec_helper.rb, который использует spork, в соответствии с онлайн-версией книги.Онлайновый файл spec / spec_helper.rb отличается от файла spec / spec_helper.rb печатной книги.

... и теперь автотест снова работает.

Таким образом, переключение на новые версии драгоценных камней, указанные в онлайн-книге, вызвало проблемы, поскольку более новые версии драгоценных камней не работают с файлом spec / spec_helper.rb печатной книги, который я использовал.Однако это не объясняет, почему после того, как я изменил свой Gemfile, чтобы снова использовать более старые версии gem, у меня все еще были ошибки.Насколько я могу судить, существует проблема с использованием bundler для установки разных версий gem.Ядерное уничтожение всего гемсета решило проблему, но вряд ли это хорошее решение.

(osx 10.6.7)

Ответы [ 5 ]

2 голосов
/ 17 июля 2011

Похоже, вы пытаетесь запустить две разные версии RSpec (2.6.4 и 2.0.1).2.6.4 устанавливает параметр -tty, который 2.0.1 не распознает.

  1. Убедитесь, что вы запустили bundle update в каталоге вашего проекта.
  2. Попробуйте запуститьbundle exec autotest вместо просто autotest.
1 голос
/ 22 июня 2012

Это может помочь!

http://blog.chrisblunt.com/rails-configuring-rspec-for-spork/

Он говорит: «Решение состоит в том, чтобы удалить условие из вашего spec_helper.rb:»

# spec/spec_helper.rb
# ...
# before:
# require File.dirname(__FILE__) + "/../config/environment" unless defined?(RAILS_ROOT)
require File.dirname(__FILE__) + "/../config/environment"

Работал на меня!

В книге это было require File.dirname(__FILE__) + "/../config/environment" unless defined?(RAILS_ROOT) в условном unless?, кстати ...

1 голос
/ 17 июля 2011

Это может быть известная проблема с parallel_tests при использовании с rspec <2.2 для опции <code>tty .

У вас есть несколько вариантов:

  1. Прекратите использовать параметр tty, если он не важен для ваших операций, или ..
  2. Обновите до последней версии rspec, где эта опция должна работать.
0 голосов
/ 22 октября 2011

Если вы еще не поняли, есть лучшая альтернатива автотесту, она называется infinity_test , посмотрите здесь, https://github.com/tomas-stefano/infinity_test.

Я следовал приведенным здесь инструкциям, https://github.com/tomas-stefano/infinity_test/wiki/Customize-Infinity-Test, даже изменил его в соответствии со своими потребностями, и он работает как шарм.

Я дважды прошел весь урок по Rail 3, у меня первый раз сработал автотест, но когда я обновил свои драгоценные камни, он сломался. Я чувствую, что infinity_test намного проще в настройке и имеет намного больше опций.

Я использую Rails 3.0.9 и Rspec 2.5.0 в Ubuntu 10.10

Надеюсь, это поможет!

0 голосов
/ 30 июля 2011

Убедитесь, что в приложении / controllers /

есть файл pages_controller.rb
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...