2010-12-13 25 views
21

Tôi đang sử dụng RSpec để kiểm tra và khi tôi rời khỏi buổi chiều thứ sáu, các bài kiểm tra của tôi đã qua. Nhưng khi tôi về nhà và đồng bộ hóa kho lưu trữ của mình, các kiểm tra không thành công trên máy tính xách tay của tôi. Bây giờ trở lại làm việc, các bài kiểm tra vẫn thất bại. Đừng tin rằng mã của tôi kể từ khi chạy rspec của chính nó trả về một lỗi và spork thậm chí sẽ không khởi động. Khi tôi cố gắng bắt đầu Spork, tôi nhận được thông báo lỗi sau:Bắt lỗi không cố định không xác định với RSpec. Không có ý tưởng gì gây ra nó

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>' 

Bất cứ ai biết điều gì có thể gây ra điều này?

+3

bạn đã bao giờ tìm hiểu tại sao bạn nhận được lỗi này? Bây giờ tôi đang trải nghiệm điều này. Tất cả những gì tôi đã làm là yêu cầu 'rspec/rails' – Despo

Trả lời

24

Tôi đã gặp sự cố này. Trong spec_helper.rb thử thay thế:

require "rails" 

với

require "rails/all" 

Làm việc trong hoàn cảnh của tôi.

+0

wtf. Làm thế nào bạn tìm ra điều này? Tại sao chuyện này đang xảy ra? – Jwan622

+0

điều này không khắc phục được sự cố của tôi trên ứng dụng Rails 4.2.5 của tôi –

-1

Nếu nó không phải là một ứng dụng Rails và bạn không muốn bao gồm tất cả các bản đồ, thêm video này vào spec_helper.rb bạn:

require 'action_view' 
+0

Tính năng này không hoạt động trên ứng dụng không có đường ray. Không có 'NameError: hằng số không được khởi tạo ActionController :: TestCase'. Xem câu trả lời của tôi để thay thế. – thisismydesign

10

Bạn cần phải khởi tạo môi trường, thêm dòng này vào spec_helper.rb :

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

wow, chỉ cần bây giờ cố gắng tìm một giải pháp cho vấn đề này. –

+0

@ Зелёный trả lời đúng lúc :) –

+0

DID này sửa chữa các triệu chứng trên ứng dụng Rails 4.2.5 của tôi –

0

Bạn có thể gặp sự cố này nếu bạn đang cố sử dụng rspec-rails trong dự án không có đường ray. Trong trường hợp đó sử dụng require "rails/all" không phải là một lựa chọn vì nó sẽ đòi hỏi ActiveRecord thứ để lại cho bạn:

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

Thay vào đó bạn có thể khắc phục vấn đề này với:

require "action_controller/railtie"

Các vấn đề liên quan