[rspec-users] spec_helper aware of full test suite being run? After hook to run code after running all specs?

Peter Boling peter.boling at gmail.com
Wed Mar 30 11:59:21 EDT 2011


I use VCR to record interactions, and when the recordings change filenames,
and directory structure, over time, as the test suite evolves, the old
recordings, no longer used, are rarely pruned.

I would like to have the ability to run rspec with an option to check for
unused VCR recordings, and another to both check and delete unused
recordings.

I need a way to know if the full spec suite is being run.  I think this can
be determined with some fancy testing on ARGV.

I can get the full list of recordings like this (or similar):

 FileList["spec/fixtures/vcr/**/*.yml"].reject{|file|File.directory?(file)}

And then prune the list as each recording is used by the spec suite,
afterwards having a list of the recordings that should be deleted.

I need a hook that will run after the complete spec suite is run, before
exiting the process, while still in the context of the thread, and the
variable containing my list of files to delete is still accessible.

Failing that I can write the list to a file, and hook in the deletion in the
rake spec task.  The downside of this is I currently run the test suite with
`bundle exec rspec spec`, and don't really use the `rake spec` task.

Aside: It would involve some (lots?) of work to get `rake spec` working in
this project.  Currently when I run `rake spec` there is no output at all.
 It appears to load the rails env, and do nothing.  Any one have an idea
about that?

-- 
|7eter H. l3oling
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://rubyforge.org/pipermail/rspec-users/attachments/20110330/7ce48cd2/attachment.html>


More information about the rspec-users mailing list