Search code examples
rspecrspec2spork

What is the right method to call Rspec.configure when spork is used? prefork or each_run?


I need to setup mongoid collections clean up for each spec. What is the right method to call Rspec.configure when spork is used? prefork or each_run?

Here is my current setup:

require 'rubygems'
require 'spork'

Spork.prefork do
  # Loading more in this block will cause your tests to run faster. However,
  # if you change any configuration or code from libraries loaded here, you'll
  # need to restart spork for it take effect.
  require File.dirname(__FILE__) + '/../config/environment.rb'
  require 'rspec'
  require 'rspec/rails'
  RSpec.configure do |config|
    config.mock_with :rspec
    config.after(:each) do
      puts "cleaning mongodb...."
      Mongoid.database.collections.each do |collection|
        unless collection.name =~ /^system\./
          collection.remove
        end
      end
      puts "finished cleaning mongodb."
    end
  end

end

Spork.each_run do

end

Solution

  • What you have is correct since you only need to configure this once and no code reload is required