Jasmine ha matcher incorporati toBee toEqual. Se ho un oggetto come questo:
function Money(amount, currency){
this.amount = amount;
this.currency = currency;
this.sum = function (money){
return new Money(200, "USD");
}
}
e prova a confrontare new Money(200, "USD")e il risultato della somma, questi abbinamenti incorporati non funzioneranno come previsto. Sono riuscito a implementare una soluzione basata su un equalsmetodo personalizzato e un abbinamento personalizzato, ma sembra che funzioni molto.
Qual è il modo standard per confrontare gli oggetti in Jasmine?
==ed===è completamente sbagliato. Due diverse istanze di un oggetto con lo stesso contenuto restituiranno entrambe false. Per tutti i non primitivi==e si===comportano in modo identico. jsfiddle.net/9mrmyrs6