RSpec で not_change マッチャを定義する
通常、Rspec で『変更されないことを検証する』場合、change
マッチャを使用します。
# subject を呼び出しても hoge が変更されないことを検証する
it { is_expected.not_to change{ hoge } }
[not_change
マッチャを定義する]
上記のコードでも問題ないのですが、 RSpec::Matchers.define_negated_matcher
を使用すると書き方を変えることができます。
# change マッチャの否定を定義する RSpec::Matchers.define_negated_matcher :not_change, :change # to を呼び出し、マッチャの名前を変更する it { is_expected.to not_change{ hoge } }
おもしろい