tutorial not ruby rspec

ruby - not - Rspec `eq` vs` eql` en las pruebas `expect`



rspec subject (1)

Aquí hay diferencias sutiles, basadas en el tipo de igualdad que se utiliza en la comparación.

De los documentos de Rpsec:

Ruby exposes several different methods for handling equality: a.equal?(b) # object identity - a and b refer to the same object a.eql?(b) # object equivalence - a and b have the same value a == b # object equivalence - a and b have the same value with type conversions]

eq usa el operador == para la comparación, y eql ignora las conversiones de tipos.

¿Cuál es la diferencia entre usar eq y eql en las pruebas rspec? ¿Hay alguna diferencia entre:

it "adds the correct information to entries" do # book = AddressBook.new # => Replaced by line 4 book.add_entry(''Ada Lovelace'', ''010.012.1815'', ''[email protected]'') new_entry = book.entries[0] expect(new_entry.name).to eq(''Ada Lovelace'') expect(new_entry.phone_number).to eq(''010.012.1815'') expect(new_entry.email).to eq(''[email protected]'') end

y:

it "adds the correct information to entries" do # book = AddressBook.new # => Replaced by line 4 book.add_entry(''Ada Lovelace'', ''010.012.1815'', ''[email protected]'') new_entry = book.entries[0] expect(new_entry.name).to eql(''Ada Lovelace'') expect(new_entry.phone_number).to eql(''010.012.1815'') expect(new_entry.email).to eql(''[email protected]'') end