Rspe c Ha sh Matcher независимо от порядка ключей - PullRequest
0 голосов
/ 10 февраля 2020

у меня есть sh соответствующий пример, написанный таким образом

 it "expects the two hashes to be equal" do 
   h1 = {
     "name" => "pratam",
      "wisher" => "max mc"
   }

   h2 = {
     "wisher" => "max mc"
     "name" => "pratam"
   }

   expect(h1).to eq(h2)
 end
 rspec spec/m1.rb

вывод

 - {
     "name" => "pratam",
      "wisher" => "max mc"
   }

 + {
      "wisher" => "max mc",
      "name" => "pratam"
   }

Но приведенный выше код, похоже, не работает, что является альтернативой совпадать независимо от порядка ключей в хешах

1 Ответ

1 голос
/ 10 февраля 2020

Предполагается, что средство сопоставления независимо от порядка ключей:

Попробуйте это в своем (чистом) irb ...

> require 'rspec'
 => true 
> include RSpec::Matchers
 => Object 
> h1 = {"name" => "pratam", "wisher" => "max mc"}
 => {"name"=>"pratam", "wisher"=>"max mc"}
> h2 = {"wisher" => "max mc", "name" => "pratam"}
 => {"wisher"=>"max mc", "name"=>"pratam"}
> expect(h1).to eq(h2)
 => true 

Нет никакого «выделенного» сопоставителя для хэшей, потому что Вот как eq должен работать.

Может быть, у вас есть какие-то "странные" драгоценные камни, которые вносят неожиданные изменения?

...