Ho creato 2 oggetti diversi in rubino con esattamente gli stessi attributi e valori.Ruby/Rspec: è possibile confrontare il contenuto di due oggetti?
mi piacerebbe confrontare la società che il contenuto di entrambi gli oggetti è lo stesso, ma i seguenti confronti:
actual.should == expected
actual.should eq(expected)
actual.should (be expected)
riuscire con:
Diff:
@@ -1,4 +1,4 @@
-#<Station:0x2807628
+#<Station:0x2807610
non v'è alcun modo in RSpec/ruby per raggiungere facilmente questo?
Saluti !!
Ciao Eric, grazie per la risposta, cercando di capire questo metodo. Perché abbiamo bisogno di sovrascrivere '# hash' e quando verrebbe invocato? Come dovremmo fare questo confronto una volta implementato, qualcosa come 'station_one. == (station_two)'? – mickael
@mickael: nessun problema. È necessario sovrascrivere '# hash' in modo che il comportamento dell'oggetto continui ad avere senso quando lo si utilizza come chiave in un oggetto Hash. Si fa uso dell'operatore '# ==' sovrascritto in 'Rspec' semplicemente facendo' obj1.should == obj2' in un blocco 'it' o simile. –