Подтвердить что ты не робот

Получение неинициализированной постоянной ошибки с RSpec. Не знаю, что вызывает это

Я использую RSpec для тестирования, и когда я ушел с работы в пятницу днем, мои тесты проходили. Но когда я пошел домой и синхронизировал свой репозиторий, тесты не удались на моем ноутбуке. Теперь вернемся к работе, тесты еще не сработали. Не верьте его моему коду, так как запуск rspec сам по себе возвращает ошибку, и spork даже не запускается. Когда я пытаюсь запустить Spork, я получаю следующее сообщение об ошибке:

Using RSpec
Loading Spork.prefork block...
uninitialized constant ActionView::Template::Handlers::ERB::ENCODING_FLAG (NameError)
/home/jeff/.rvm/gems/[email protected]/gems/rspec-core-2.2.1/lib/rspec/core/backward_compatibility.rb:20:in `const_missing'
/home/jeff/.rvm/gems/[email protected]/gems/actionpack-3.0.3/lib/action_view/template/handlers/erb.rb:85:in `<class:ERB>'
/home/jeff/.rvm/gems/[email protected]/gems/actionpack-3.0.3/lib/action_view/template/handlers/erb.rb:70:in `<module:Handlers>'
/home/jeff/.rvm/gems/[email protected]/gems/actionpack-3.0.3/lib/action_view/template/handlers/erb.rb:28:in `<class:Template>'
/home/jeff/.rvm/gems/[email protected]/gems/actionpack-3.0.3/lib/action_view/template/handlers/erb.rb:27:in `<module:ActionView>'
/home/jeff/.rvm/gems/[email protected]/gems/actionpack-3.0.3/lib/action_view/template/handlers/erb.rb:6:in `<top (required)>'
/home/jeff/.rvm/gems/[email protected]/gems/actionpack-3.0.3/lib/action_view/template/handlers.rb:10:in `extended'
/home/jeff/.rvm/gems/[email protected]/gems/actionpack-3.0.3/lib/action_view/template.rb:99:in `extend'
/home/jeff/.rvm/gems/[email protected]/gems/actionpack-3.0.3/lib/action_view/template.rb:99:in `<class:Template>'
/home/jeff/.rvm/gems/[email protected]/gems/actionpack-3.0.3/lib/action_view/template.rb:8:in `<module:ActionView>'
/home/jeff/.rvm/gems/[email protected]/gems/actionpack-3.0.3/lib/action_view/template.rb:6:in `<top (required)>'
<internal:lib/rubygems/custom_require>:29:in `require'
<internal:lib/rubygems/custom_require>:29:in `require'
/home/jeff/.rvm/gems/[email protected]/gems/actionpack-3.0.3/lib/action_view/template/resolver.rb:3:in `<top (required)>'
<internal:lib/rubygems/custom_require>:29:in `require'
<internal:lib/rubygems/custom_require>:29:in `require'
/home/jeff/.rvm/gems/[email protected]/gems/actionpack-3.0.3/lib/action_view/testing/resolvers.rb:1:in `<top (required)>'
<internal:lib/rubygems/custom_require>:29:in `require'
<internal:lib/rubygems/custom_require>:29:in `require'
/home/jeff/.rvm/gems/[email protected]/gems/rspec-rails-2.2.1/lib/rspec/rails/view_rendering.rb:1:in `<top (required)>'
<internal:lib/rubygems/custom_require>:29:in `require'
<internal:lib/rubygems/custom_require>:29:in `require'
/home/jeff/.rvm/gems/[email protected]/gems/rspec-rails-2.2.1/lib/rspec/rails.rb:9:in `<top (required)>'
<internal:lib/rubygems/custom_require>:33:in `require'
<internal:lib/rubygems/custom_require>:33:in `rescue in require'
<internal:lib/rubygems/custom_require>:29:in `require'
/home/jeff/Projects/Rails/vahsfbhistory/spec/spec_helper.rb:10:in `block in <top (required)>'
/home/jeff/.rvm/gems/[email protected]/gems/spork-0.8.4/lib/spork.rb:23:in `prefork'
/home/jeff/Projects/Rails/vahsfbhistory/spec/spec_helper.rb:5:in `<top (required)>'
/home/jeff/.rvm/gems/[email protected]/gems/spork-0.8.4/lib/spork/test_framework.rb:138:in `load'
/home/jeff/.rvm/gems/[email protected]/gems/spork-0.8.4/lib/spork/test_framework.rb:138:in `block (2 levels) in preload'
/home/jeff/.rvm/gems/[email protected]/gems/spork-0.8.4/lib/spork/app_framework.rb:64:in `preload'
/home/jeff/.rvm/gems/[email protected]/gems/spork-0.8.4/lib/spork/test_framework.rb:134:in `block in preload'
/home/jeff/.rvm/gems/[email protected]/gems/spork-0.8.4/lib/spork.rb:67:in `exec_prefork'
/home/jeff/.rvm/gems/[email protected]/gems/spork-0.8.4/lib/spork/test_framework.rb:120:in `preload'
/home/jeff/.rvm/gems/[email protected]/gems/spork-0.8.4/lib/spork/run_strategy/forking.rb:25:in `preload'
/home/jeff/.rvm/gems/[email protected]/gems/spork-0.8.4/lib/spork/runner.rb:74:in `run'
/home/jeff/.rvm/gems/[email protected]/gems/spork-0.8.4/lib/spork/runner.rb:9:in `run'
/home/jeff/.rvm/gems/[email protected]/gems/spork-0.8.4/bin/spork:10:in `<top (required)>'
/home/jeff/.rvm/gems/[email protected]/bin/spork:19:in `load'
/home/jeff/.rvm/gems/[email protected]/bin/spork:19:in `<main>'

Кто-нибудь знает, что может быть причиной этого?

4b9b3361

Ответ 1

Я столкнулся с этой проблемой. В spec_helper.rb попробуйте заменить:

require "rails"

с

require "rails/all"

Работал в моей ситуации.

Ответ 2

Вам нужно инициализировать среду, добавьте эту строку в spec_helper.rb:

require File.expand_path("../../config/environment", __FILE__)

Ответ 3

Вы можете столкнуться с этой проблемой, если пытаетесь использовать rspec-rails в проекте без рельсов. В этом случае использование require "rails/all" не является вариантом, потому что для этого потребуется материал ActiveRecord, оставляющий вас с:

ActiveRecord::ConnectionNotEstablished: No connection pool with 'primary' found.

Вместо этого вы можете исправить эту проблему:

require "action_controller/railtie"

Ответ 4

Если это не приложение Rails и вы не хотите включать все Rails, добавьте его в свой spec_helper.rb:

require 'action_view'