Although it would be nice (and not too difficult) to have the example
runner intercept any class creation (and perhaps other global/constant
definitions) and undef them after each example.
It certainly seems reasonable to have any defined classes go away after
an example.
aslak hellesoy wrote:
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
_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users