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上尝试了这个只是通过交换(”)它给了我’asc’不知道为什么rspec失败

尝试使用测试更明确一些:

 let(:order) { 'wrong_order'} it 'swaps the order' do swapped_order = swap(order) expect(swapped_order).to eq('asc') end