Examples:
ERROR - duplicate in ALL contexts
describe 'Calculator' do
context 'with addition' do
let(:currency) { :usd }
it { expect(result).to eq(10) }
end
context 'with subtraction' do
let(:currency) { :usd }
it { expect(result).to eq(5) }
end
end
describe 'Calculator' do
let(:currency) { :usd }
context 'with addition' do
it { expect(result).to eq(10) }
end
context 'with subtraction' do
it { expect(result).to eq(5) }
end
end
WARNING - duplicate in SOME contexts
describe 'Processor' do
context 'scenario A' do
let(:mode) { :standard }
it { expect(result).to eq('A') }
end
context 'scenario B' do
let(:mode) { :standard }
it { expect(result).to eq('B') }
end
context 'scenario C' do
let(:mode) { :advanced }
it { expect(result).to eq('C') }
end
end
describe 'Processor' do
context 'with standard mode' do
let(:mode) { :standard }
context 'scenario A' do
it { expect(result).to eq('A') }
end
context 'scenario B' do
it { expect(result).to eq('B') }
end
end
context 'with advanced mode' do
let(:mode) { :advanced }
context 'scenario C' do
it { expect(result).to eq('C') }
end
end
end
RSpecGuide/DuplicateLetValues:
WarnOnPartialDuplicates: false
Edge case - different values
describe 'Converter' do
context 'to USD' do
let(:currency) { :usd }
it { expect(convert).to eq(100) }
end
context 'to EUR' do
let(:currency) { :eur }
it { expect(convert).to eq(85) }
end
end