You can have a global after block in your spec_helper.rb that undefines all such constants. Then you just have to remember to add these constants to some global array whenever you define them.
a On 9/21/07, Matt Margolis <[EMAIL PROTECTED]> wrote: > I have some specs that involve the use of eval and class definitions to > test code generation. I want to always start with a clean slate so none > of my tests fail or succeed incorrectly due to artifacts left over from > previous specs. > > Example of my situation > Spec 1 defines > class Fish > class Cod < Fish > Spec 2 defines > class Animal > class Cod < Animal > > In this situation the second spec will fail since Cod was previously > defined to be a subclass of Fish and you can not change the superclass > of a subclass in ruby without causing an exception. > > I want the resetting to be as automatic as possible since calling > remove_constant on every class my code defines after each spec is a real > pain since this situation is going to crop up in lots of different specs > and describe blocks. > > Thank you, > Matt Margolis > _______________________________________________ > rspec-users mailing list > rspec-users@rubyforge.org > http://rubyforge.org/mailman/listinfo/rspec-users > _______________________________________________ rspec-users mailing list rspec-users@rubyforge.org http://rubyforge.org/mailman/listinfo/rspec-users