Jasmine a des matchers intégrés toBe
et toEqual
. Si j'ai un objet comme celui-ci:
function Money(amount, currency){
this.amount = amount;
this.currency = currency;
this.sum = function (money){
return new Money(200, "USD");
}
}
et essayez de comparer new Money(200, "USD")
et le résultat de la somme, ces matchers intégrés ne fonctionneront pas comme prévu. J'ai réussi à implémenter une solution de contournement basée sur une equals
méthode personnalisée et un matcher personnalisé, mais cela semble juste beaucoup de travail.
Quelle est la manière standard de comparer des objets dans Jasmine?
==
et===
est complètement faux. Deux instances différentes d'un objet avec le même contenu renverront toutes deux false. Pour tous les non-primitifs,==
et===
se comportent de la même manière. jsfiddle.net/9mrmyrs6