我的方法:
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失败
答案 0 :(得分:2)
尝试使用测试更加明确:
let(:order) { 'wrong_order'}
it 'swaps the order' do
swapped_order = swap(order)
expect(swapped_order).to eq('asc')
end