Jasmine tem matchers toBee toEqual. Se eu tiver um objeto como este:
function Money(amount, currency){
this.amount = amount;
this.currency = currency;
this.sum = function (money){
return new Money(200, "USD");
}
}
e tente comparar new Money(200, "USD")e o resultado da soma, esses matchers internos não funcionarão conforme o esperado. Consegui implementar uma solução alternativa com base em um equalsmétodo personalizado e em um matcher personalizado, mas parece funcionar muito.
Qual é a maneira padrão de comparar objetos no Jasmine?
==e===está completamente errado. Duas instâncias diferentes de um objeto com o mesmo conteúdo retornarão falso. Para quaisquer não primitivos==e===se comportem de forma idêntica. jsfiddle.net/9mrmyrs6