我正在尝试编写一个匹配器,它将对象转换为哈希,然后再与预期值进行比较(假设我想比较 2 个哈希而不关心键是字符串或符号的事实)。
我可以很容易地定义一个匹配器来做这个
RSpec::Matchers.define :my_matcher do |content|
match { |to_match| my_hash_conversion(to_match) == my_hash_conversion(content)
diffable
end
我添加diffable
了所以 rspec 在它们不匹配时显示两个对象的差异。但是我想显示转换对象的差异而不是原始对象的差异?
我看到它们在 Rspec 的某个地方有一个 Differ 类和一个 diff_with_hash 函数,但我不知道如何使用它(因为它没有真正记录在案)。