Si consideri il seguente frammento di RSpec:RSpec: confronto di un hash con chiavi stringa contro un hash con i tasti simbolo?
it "should match" do
{:a => 1, :b => 2}.should =~ {"a" => 1, "b" => 2}
end
Questo test non è riuscito perché una hash utilizza simboli per le chiavi e l'altro utilizza stringhe per le chiavi. Nel mio caso, un hash è un oggetto JSON analizzato, l'altro è l'hash che ha creato l'oggetto. Mi piacerebbe che fossero paragonabili.
Prima di andare a scrivere il mio matcher o forzare entrambi gli hash per avere chiavi di stringa, c'è un matcher o una tecnica che gestisce questo caso (comune)?
Si tratta di un metodo di rotaie non rubino –
@ John .s.in.co: sì, ma ora che ActiveSupport può essere utilizzato stand-alone (con la possibilità di caricare piccoli sottoinsiemi di esso), questa è una risposta accettabile. –