Hi again
As part of the refactoring I'm doing, I'm writing out quite a bit of
metaprogramming. The easiest way to prove constant lookup is working is to
create a new class in an example group, and use its name. But the scope of the
example group definition appears to be the containing module, which gives the
following behaviour:
module MyModule
describe "MyClass" do
class TestClass; end
# This passes
it "has access to the test class" do
expect {
TestClass
}.to_not raise_error
end
# This fails
it "hides the test class somewhere?" do
TestClass.name.should_not eq "MyModule::TestClass"
end
end
end
module MyModule
describe "MyClass doing something else" do
# This fails
it "has a different scope to the example above" do
expect {
TestClass
}.to raise_error(NameError)
end
end
end
I've got a few questions:
* Is this intended behaviour, or just merely the way RSpec 2 happens to work?
* Would a more unique scope be useful? (To me it would, obviously... don't know
about the tradeoff in general though)
* Has this changed since RSpec 1.3? (I guess I could install and find out...)
Cheers
Ash
--
http://www.patchspace.co.uk/
http://www.linkedin.com/in/ashleymoran
_______________________________________________
rspec-users mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/rspec-users