Adding to the callbacks that rspec-rails adds

I have some code that adds to the callbacks that rspec-rails adds by
default
to setup and teardown fixtures.

My code looks something like:

module Test

  module Unit



    class TestCase

      append_before(:each) do

       Test::Unit::AfterFixturesLoaded.custom_stuff1

      end



      append_after(:each) do

        Test::Unit::AfterFixturesLoaded.custom_stuff2

      end

    end



    class AfterFixturesLoaded



      def self.custom_stuff1

        #do some stuff here

      end



      def self.custom_stuff2

        #do some other stuff here

      end

    end



  end

end

This code works fine if I put it in the config\initializers directory in
the
rails app, but then running the app fails because it doesn’t load test
unit.
So my question is where can I put this code so that it will always be
included when running rspec?

Thanks!

Ben F.

On Tue, Feb 16, 2010 at 10:48 AM, Ben F.
[email protected] wrote:

       Test::Unit::AfterFixturesLoaded.custom_stuff1

        #do some stuff here

This code works fine if I put it in the config\initializers directory in the
rails app, but then running the app fails because it doesn’t load test unit.
So my question is where can I put this code so that it will always be
included when running rspec?

The convention is to put support files in spec/support/, and require
.rb files in that directory from spec/spec_helper.rb. The
spec/spec_helper.rb file generated by rspec-rails when you execute
“script/generate rspec” (“script/rails g rspec:install” in rails 3)
includes a line that handles the require for you.

HTH,
David

Look in spec/spec_helper.rb for the configuration block, and hook up
your custom stuff there:

Spec::Runner.configured do |config|
config.before(:each) { AfterFixturesLoaded.custom_stuff1 }
config.after(:each) { AfterFixturesLoaded.custom_stuff1 }
end

Pat