أثناء اختبار وحدات التحكم الخاصة بي ، صادفت هذه المشكلة. أنا أستخدم rspec-rails-3.4.2 و Rails-4.2.0 و mongodb. هنا هو بلدي 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
من فضلك فقط طلب rspec-rails كـ require 'rspec/rails'
فمن المحتمل أن يكون هذا هو سبب مشكلتك
JonRowe شكرا على الرد الفوري. حاولت ذلك أيضًا. عندما أحتاج لقضبان Respec ، فإنه يتسبب في خطأ آخر
فشل / خطأ: رفع ConnectionNotEstablished ، "لا يوجد تجمع اتصال لـ # {klass}" إلا إذا كان التجمع
نعم ، هذه مشكلة في التكوين الخاطئ من جانبك ، تحتاج إلى التأكد من تحميل mongoid قبل rspec-rails حتى لا تحاول استخدام ActiveRecord.
تأكد من أنه يمكنك القيام بـ RAILS_ENV=test rails console
بدون أخطاء قبل تجربة RSpec.
لكي نساعدك أكثر ، عليك تقديم backtraces (عبر https://gist.github.com
)
التعليق الأكثر فائدة
من فضلك فقط طلب rspec-rails كـ
require 'rspec/rails'
فمن المحتمل أن يكون هذا هو سبب مشكلتك