未初始化的常量 ActionView::Template::Handlers::ERB::ENCODING_FLAG

Ste*_*lar 2 rspec rspec-rails ruby-on-rails-4

我目前正在开发 Rails 应用程序版本Rails 4.2.6ruby 2.2.2. 我正在尝试运行 rspec 测试,我有版本

 rspec-core 3.7.1
  - rspec-expectations 3.7.0
  - rspec-mocks 3.7.0
  - rspec-rails 3.7.2
  - rspec-support 3.7.1
Run Code Online (Sandbox Code Playgroud)

当我运行以下命令时bundle exec rspec spec/models/user_spec.rb,出现以下错误:加载 ./spec/models/user_spec.rb 时发生错误。

失败/错误:需要“rspec/rails”

NameError: 未初始化的常量 ActionView::Template::Handlers::ERB::ENCODING_FLAG

这是我的 rails_helper.rb

# This file is copied to spec/ when you run 'rails generate rspec:install'
require 'spec_helper'
require "rspec/rails"
require "capybara/rspec"

ENV['RAILS_ENV'] ||= 'test'
require File.expand_path('../../config/environment', __FILE__)
# Prevent database truncation if the environment is production
abort("The Rails environment is running in production mode!") if Rails.env.production?

ActiveRecord::Migration.maintain_test_schema!

Capybara.register_driver :selenium_chrome do |app|
 Capybara::Selenium::Driver.new(app, browser: :chrome)
end

Capybara.javascript_driver = :selenium_chrome

RSpec.configure do |config|
  # Remove this line if you're not using ActiveRecord or ActiveRecord fixtures
  config.fixture_path = "#{::Rails.root}/spec/fixtures"

  config.use_transactional_fixtures = false

  config.infer_spec_type_from_file_location!

  # Filter lines from Rails gems in backtraces.
  config.filter_rails_from_backtrace!

  config.before(:suite) do
    DatabaseCleaner.clean_with(:truncation)
  end

  config.before(:each) do
    DatabaseCleaner.strategy = :transaction
  end

  config.before(:each, js: true) do
    DatabaseCleaner.strategy = :truncation
  end

  # This block must be here, do not combine with the other `before(:each)` block.
  # This makes it so Capybara can see the database.
  config.before(:each) do
    DatabaseCleaner.start
  end

  config.after(:each) do
    DatabaseCleaner.clean
  end
end
Run Code Online (Sandbox Code Playgroud)

这是 Gemfile:

group :development, :test do
  gem 'rspec'
  gem 'rspec-rails'
  gem 'byebug'
  gem 'pry'
  gem 'pry-nav'
  gem 'pry-stack_explorer'
end

group :test do
  gem "capybara"
  gem "selenium-webdriver"
end
Run Code Online (Sandbox Code Playgroud)

dra*_*vic 5

如果您搬家会发生什么:

...
ENV['RAILS_ENV'] ||= 'test'
require File.expand_path('../../config/environment', __FILE__)
...
Run Code Online (Sandbox Code Playgroud)

到文件的开头?