RSpec의 include 설정 방법을 사용하여 모듈을 네임 스페이스로 사용하여 내부 클래스에 대해 정규화 된 이름을 사용할 필요가 없으며 모듈. 이것은 Ruby 1.9.2에서 RSpec 2.11.0에서 잘 작동합니다. 그러나 이제는 Ruby 1.9.3에서 더 이상 작동하지 않습니다. 다시 작동 시키려면 어떻게해야합니까? 다음의 예 foobar_spec.rb 루비 1.9.3에서 RSpec 설정을 통한 네임 스페이스 모듈 포함하기
: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
그것은 루비에서 작동이 잘 1.9.2. 그러나 루비 1.9.3에 다음과 같은 오류가 발생합니다 :
Failure/Error: Bar.new
NameError:
uninitialized constant Bar
ruby-lang.org의 사람들이이 패치가 실제로 좋은 아이디어인지 확실하지 않은 것 같습니다. 그래서 나는 "고의적 인"것에 대해서는 확신하지 못한다. – aef