Jasmine yerleşik eşleştiricilere sahiptir toBe
ve toEqual
. Böyle bir nesnem varsa:
function Money(amount, currency){
this.amount = amount;
this.currency = currency;
this.sum = function (money){
return new Money(200, "USD");
}
}
ve new Money(200, "USD")
toplamın sonucunu karşılaştırmaya çalışın , bu yerleşik eşleştiriciler beklendiği gibi çalışmayacaktır. Özel bir equals
yönteme ve özel eşleştiriciye dayalı bir çözüm oluşturmayı başardım , ancak bu çok iş gibi görünüyor.
Jasmine'deki nesneleri karşılaştırmanın standart yolu nedir?
==
ve===
tamamen yanlış. Aynı içeriğe sahip bir nesnenin iki farklı örneğinin her ikisi de yanlış döndürür. İlkel olmayanlar için==
ve===
aynı şekilde davranın. jsfiddle.net/9mrmyrs6