雑メモです。
あるモデルにデータを追加したか確認するテスト
expect { subject }.to change { ModelA.count }
変更しているなら change
でおk
もし、変更なしを確認したい場合は、 not_change
を用意すると良い
RSpec::Matchers.define_negated_matcher :not_change, :change
subjectがExceptionを返すので検証できない
実際はExceptionが発生する前にデータを追加しているが、テスト時にはExceptionで落ちるので確認できない
なので、andで繋げてあげる
expect { subject }.to raise_error(HogeHogeException).and change { ModelA.count }
おk