[rspec-users] adding to the callbacks that rspec-rails adds

David Chelimsky dchelimsky at gmail.com
Wed Feb 17 07:59:39 EST 2010


On Tue, Feb 16, 2010 at 10:48 AM, Ben Fyvie <ben.fyvie at champsoftware.com> wrote:
> I have some code that adds to the callbacks that rspec-rails adds by default
> to <a
> href="http://github.com/dchelimsky/rspec-rails/blob/master/lib/spec/rails/interop/testcase.rb">setup
> and teardown fixtures</a>.
>
>
>
> 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?

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


More information about the rspec-users mailing list