スタブして、ordered
をつける。
Class AAA
def abc_def
puts_abc
puts_def
end
def puts_abc
puts 'abc!'
end
def puts_def
puts 'def!'
end
end
describe '#abc_def' do
let(:aaa) { AAA.new }
it do
expect(aaa).to receive(puts_abc).ordered
expect(aaa).to receive(puts_def).ordered
aaa.abc_def
end
# => Success
it do
expect(aaa).to receive(puts_def).ordered
expect(aaa).to receive(puts_abc).ordered
# ↑順序が逆
aaa.abc_def
end
# => Failure/Error:
# received :puts_abc out of order
end