Jasmine имеет встроенные сопоставители toBe
и 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