Jasmine tiene emparejadores incorporados toBe
y toEqual
. Si tengo un objeto como este:
function Money(amount, currency){
this.amount = amount;
this.currency = currency;
this.sum = function (money){
return new Money(200, "USD");
}
}
e intente comparar new Money(200, "USD")
y el resultado de la suma, estos comparadores integrados no funcionarán como se esperaba. Me las arreglé para implementar una solución alternativa basada en un equals
método personalizado y un comparador personalizado, pero parece que funciona mucho.
¿Cuál es la forma estándar de comparar objetos en Jasmine?
==
y===
está completamente equivocado. Dos instancias diferentes de un objeto con el mismo contenido devolverán falso. Para cualquier no primitivo==
y se===
comporta de manera idéntica. jsfiddle.net/9mrmyrs6