nowk
2/2/2013 - 8:41 AM

Spork reloads

Spork reloads

group :development, :test do
  # require false fixes ActiveRecord::AssociationTypeMismatch
  # gem 'factory_girl', :require => false
  gem 'factory_girl_rails', :require => false
end
# /spec/spec_helper.rb

Spork.prefork do
  ENV['RAILS_ENV'] ||= 'test'

  # this is the only thing that fixes in Rails 4.beta. Only pertains to Devise models, other models seem to reload fine.
  require 'rails/application'
  Spork.trap_method(Rails::Application, :reload_routes!)
  Spork.trap_method(Rails::Application::RoutesReloader, :reload!)

  require File.expand_path("../../config/environment", __FILE__)

  # ... rest of spec helper
end

Spork.each_run do
  # ActiveSupport::Dependencies.clear 
  # Must reload here or feature tests fail
  Spork.trap_method(Rails::Application, :reload_routes!)
  Spork.trap_method(Rails::Application::RoutesReloader, :reload!)
  require 'factory_girl_rails'
  # reload turnip steps
  Dir.glob("spec/acceptance/steps/**/*steps.rb") { |f| load f, true }
end
# config/environments/test.rb

Namespace::Application.configure do
  config.cache_classes = true 

  # this seems to cause TypeMismatch errors
  # config.cache_classes = !(ENV['DRB'] == 'true') 
end