[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:03:56 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 we currently run our
test suite with `bundle exec rspec spec`, and don't really use the
rake spec task.  It would involve other work to get rake spec working
in this project.


More information about the rspec-users mailing list