我的方法:
def swap (order)
order = order == 'asc' ? 'desc' : 'asc'
end
规格:
let(:order) { 'wrong_order'}
it 'swaps the order' do
expect(swap(order)).to eq('asc')
end
此rspec失败,并显示消息ArgumentError: bad value for range
但如果我通过"desc"或"asc"并更改预期,它会很好地工作。
此外,我在irb上尝试了这一点,只传递了swap("),这让我"asc"不确定rspec失败的原因
试着在测试中更加明确一点:
let(:order) { 'wrong_order'}
it 'swaps the order' do
swapped_order = swap(order)
expect(swapped_order).to eq('asc')
end