Ao testar meus controladores, me deparei com esse problema. Estou usando rspec-rails-3.4.2, rails-4.2.0 e mongodb. Aqui está meu rails_helper.rb
`ENV['RAILS_ENV'] ||= 'test'
require File.expand_path('../../config/environment', __FILE__)
abort("The Rails environment is running in production mode!") if Rails.env.production?
require 'spec_helper'
require 'rspec/core'
require 'rspec/rails/extensions'
require 'rspec/rails/view_rendering'
require 'rspec/rails/adapters'
require 'rspec/rails/matchers'
require 'rspec/rails/fixture_support'
require 'rspec/rails/example'
require 'rspec/rails/vendor/capybara'
require 'mongoid-rspec'
RSpec.configure do |config|
config.before(:suite) do
DatabaseCleaner.orm = "mongoid"
DatabaseCleaner.strategy = :truncation
end
config.before(:each) do
DatabaseCleaner.start
end
config.after(:each) do
DatabaseCleaner.clean
end
end
Por favor, apenas exija rspec-rails, pois require 'rspec/rails'
é provável que seja a causa de seus problemas
@JonRowe Obrigado pela resposta imediata. Eu tentei isso também. quando eu exijo respec-rails isso causa outro erro
Falha / erro: aumentar ConnectionNotEstablished, "Nenhum pool de conexão para # {klass}" a menos que o pool
Sim, este é um problema de configuração incorreta do seu lado, você precisa garantir que o mongoid seja carregado antes do rspec-rails para que ele não tente usar o ActiveRecord.
Certifique-se de que você pode fazer RAILS_ENV=test rails console
sem erros antes de tentar RSpec.
Para que possamos ajudar mais, você terá que fornecer backtraces (via https://gist.github.com
)
Comentários muito úteis
Por favor, apenas exija rspec-rails, pois
require 'rspec/rails'
é provável que seja a causa de seus problemas