Rspec 失败,出现"范围值错误"



我的方法:

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

最新更新