Jasmine具有内置的MatcherstoBe
和toEqual
。如果我有这样的对象:
function Money(amount, currency){
this.amount = amount;
this.currency = currency;
this.sum = function (money){
return new Money(200, "USD");
}
}
并尝试与new Money(200, "USD")
和的结果进行比较,这些内置匹配器将无法按预期工作。我已经设法实现了基于自定义equals
方法和自定义匹配器的变通方法,但这似乎需要很多工作。
在Jasmine中比较对象的标准方法是什么?
==
,并===
是完全错误的。具有相同内容的对象的两个不同实例都将返回false。对于任何非基元,==
其===
行为相同。jsfiddle.net/9mrmyrs6