期待値と比較する前にオブジェクトをハッシュに変換するマッチャーを作成しようとしています (キーが文字列またはシンボルであるという事実を気にせずに 2 つのハッシュを比較したいとします)。
これを行うマッチャーを簡単に定義できます
RSpec::Matchers.define :my_matcher do |content|
match { |to_match| my_hash_conversion(to_match) == my_hash_conversion(content)
diffable
end
diffable
2 つのオブジェクトが一致しない場合、rspec が 2 つのオブジェクトの差分を表示するように追加します。ただし、元のオブジェクトの差分ではなく、変換されたオブジェクトの差分を表示したいですか?
Rspec のどこかに Differ クラスと diff_with_hash 関数があるのを見ましたが、使い方がわかりません (実際には文書化されていないため)。