describe 'parent' do
describe 'child A' do
SOME_CONST = 1
it { expect(SOME_CONST).to eq 1 }
end
describe 'child B' do
SOME_CONST = 2
it { expect(SOME_CONST).to eq 2 } # => fail
it { expect(SOME_CONST).to eq 1 }
it { expect(::SOME_CONST).to eq SOME_CONST }
end
end
describe
の中身は単なるブロックなので module
とか class
みたいに名前空間がなく、トップレベル定数になる。当たり前なんだけど、DSLだとRubyを書いてる意識が希薄でうっかりやってしまうかもしれない。