Jasmine có các trình kết hợp tích hợp toBe
và toEqual
. Nếu tôi có một đối tượng như thế này:
function Money(amount, currency){
this.amount = amount;
this.currency = currency;
this.sum = function (money){
return new Money(200, "USD");
}
}
và cố gắng so sánh new Money(200, "USD")
và kết quả của tổng, những đối sánh tích hợp sẵn này sẽ không hoạt động như mong đợi. Tôi đã quản lý để triển khai một công việc xung quanh dựa trên một equals
phương pháp tùy chỉnh và trình đối sánh tùy chỉnh, nhưng nó dường như hoạt động nhiều.
Cách chuẩn để so sánh các đối tượng trong Jasmine là gì?
==
và===
là hoàn toàn sai. Hai trường hợp khác nhau của một đối tượng có cùng nội dung sẽ trả về false. Đối với bất kỳ hành vi không phải nguyên thủy nào==
và===
hoạt động giống hệt nhau. jsfiddle.net/9mrmyrs6