I discovered that i had a "mongoid.rb" file in my lib folder, which was 
being loaded in place of the mongoid gem.

Not sure why only rspec was affected by this.

On Wednesday, July 31, 2013 2:46:41 PM UTC-6, Brandon Croft wrote:
>
> David, did you make any progress on this issue? I'm converting a project 
> from minitest to rspec and have the same problem.
>
> On Wednesday, June 12, 2013 11:14:32 PM UTC-6, dbkbali wrote:
>>
>> I did have the bundler change incorporated. Making progress, though 
>> I believe it has something to do with rbenv, binstubs or bundler, if I 
>> install rspec outside my bundle and issue an rspec command - My tests run 
>> ok, however if I run bundle exec rspec or create a binstub - I get the same 
>> error. So right now just trying to understand binstubs and bundler better 
>> to determine why I am getting this problem.
>>
>> If you or anyone has any suggestions based on the above info, it would be 
>> much appreciated
>>
>> Again Thanks,
>>
>> David
>>
>> On Tuesday, June 11, 2013 11:12:37 AM UTC+8, dbkbali wrote:
>>>
>>> I have a working app with Mongoid 4 (Master Branch) and Rails 4 and was 
>>> trying to switch my app over from using minitest to rspec. Using minitest I 
>>> am having no problems getting my tests running and passing with my Test 
>>> Helper file. However when setting up a spec_helper file for RSPEC it 
>>> appears that my that Mongoid is not getting loaded at the right time as my 
>>> ./bin/rspec craps out in application.rb file when the 
>>> "Bundler.require(*Rails.groups(assets: %w(development test)))" is executed, 
>>> and it encounters the first gem in my gem file that uses mongoid.
>>>
>>> require File.expand_path('../boot', __FILE__)
>>>
>>> # Pick the frameworks you want:
>>> # require "active_record/railtie"
>>> require "action_controller/railtie"
>>> require "action_mailer/railtie"
>>> #require "active_resource/railtie"
>>> require "sprockets/railtie"
>>> require "rails/test_unit/railtie"
>>> Bundler.require(*Rails.groups(assets: %w(development test)))
>>> #if defined?(Bundler)
>>>   # If you precompile assets before deploying to production, use this 
>>> line
>>>   #Bundler.require(*Rails.groups(assets: %w(development test)))
>>>   # If you want your assets lazily compiled in production, use this line
>>>   #Bundler.require(:default, :assets, Rails.env)
>>> #end
>>>
>>>
>>> module MyApp
>>> ......
>>>
>>>
>>> #app/spec/spec_helper.rb
>>>
>>> # This file is copied to spec/ when you run 'rails generate 
>>> rspec:install'
>>> ENV["RAILS_ENV"] ||= 'test'
>>> require File.expand_path("../../config/environment", __FILE__)
>>> require 'rspec/rails'
>>> require 'rspec/autorun'
>>> require 'capybara/rspec'
>>> require 'database_cleaner'
>>>
>>> # Requires supporting ruby files with custom matchers and macros, etc,
>>> # in spec/support/ and its subdirectories.
>>> Dir[Rails.root.join("spec/support/**/*.rb")].each { |f| require f }
>>>
>>> # Checks for pending migrations before tests are run.
>>> # If you are not using ActiveRecord, you can remove this line.
>>> #ActiveRecord::Migration.check_pending! if 
>>> defined?(ActiveRecord::Migration)
>>>
>>> RSpec.configure do |config|
>>>   # ## Mock Framework
>>>   #
>>>   # If you prefer to use mocha, flexmock or RR, uncomment the 
>>> appropriate line:
>>>   #
>>>   # config.mock_with :mocha
>>>   # config.mock_with :flexmock
>>>   # config.mock_with :rr
>>>
>>>   # Remove this line if you're not using ActiveRecord or ActiveRecord 
>>> fixtures
>>>   #config.fixture_path = "#{::Rails.root}/spec/fixtures"
>>>
>>>   # If you're not using ActiveRecord, or you'd prefer not to run each of 
>>> your
>>>   # examples within a transaction, remove the following line or assign 
>>> false
>>>   # instead of true.
>>>   #config.use_transactional_fixtures = true
>>>
>>>   # If true, the base class of anonymous controllers will be inferred
>>>   # automatically. This will be the default behavior in future versions 
>>> of
>>>   # rspec-rails.
>>>   config.infer_base_class_for_anonymous_controllers = false
>>>
>>>   # Run specs in random order to surface order dependencies. If you find 
>>> an
>>>   # order dependency and want to debug it, you can fix the order by 
>>> providing
>>>   # the seed, which is printed after each run.
>>>   #     --seed 1234
>>>   config.order = "random"
>>>
>>>
>>>   config.before(:each) do
>>>     db = Mongoid::Config::master
>>>     # ignore stuff like system.indexes
>>>     db.collection_names.reject {|c| c =~ /^system/}.each {|c| 
>>> db.drop_collection c}
>>>   end
>>>
>>>
>>>   config.include Capybara::DSL
>>> end
>>>
>>>
>>> Have searched the docs and tried various permutations of requiring 
>>>  "mongoid" and Mongoid.load! but am not having any luck getting this 
>>> working so that rspec has access to the Mongoid database in the test 
>>> environment.
>>>
>>> If anyone has a working config for  Rspec 2/Rails 4/Mongoid 4 it would 
>>> be much appreciated if you can help me out or point me in the right 
>>> direction to get this working.
>>>
>>> Many Thanks,
>>>
>>> David Krett
>>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"rspec" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/rspec/0cb96756-f64e-49ae-8f7f-3410f5a2791e%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to