RSpecのinclude構成メソッドを使用して、名前空間専用のモジュールをインクルードするのが好きです。これにより、内部クラスとモジュールに完全修飾名を使用する必要がなくなります。これは、Ruby1.9.2のRSpec2.11.0で正常に機能しました。しかし、Ruby 1.9.3では、これは機能しなくなりました。どうすれば再び機能させることができますか?
foobar_spec.rbの例を次に示します。
module Foo
class Bar
end
end
RSpec.configure do |config|
config.include Foo
end
describe Foo::Bar do
it "should work" do
Bar.new
end
end
次のコマンドで呼び出す場合:
rspec foobar_spec.rb
Ruby1.9.2でも問題なく動作します。ただし、Ruby1.9.3では次のエラーが発生します。
Failure/Error: Bar.new
NameError:
uninitialized constant Bar