检查 Jasmine 中的对象相等性

2022-01-11 00:00:00 bdd jasmine javascript object-comparison

Jasmine 内置了匹配器 toBetoEqual.如果我有这样的对象:

Jasmine has built-in matchers toBe and toEqual. If I have an object like this:

function Money(amount, currency){
    this.amount = amount;
    this.currency = currency;

    this.sum = function (money){
        return new Money(200, "USD");
    }
}

并尝试比较 new Money(200, "USD") 和 sum 的结果,这些内置匹配器将无法按预期工作.我已经设法实现了基于自定义 equals 方法的变通方法 和自定义匹配器,但它似乎很有效.

and try to compare new Money(200, "USD") and the result of sum, these built-in matchers will not work as expected. I have managed to implement a work-around based on a custom equals method and custom matcher, but it just seems to much work.

在 Jasmine 中比较对象的标准方法是什么?

What is the standard way to compare objects in Jasmine?

推荐答案

我一直在寻找相同的东西,并找到了一种无需任何自定义代码或匹配器的现有方法.使用 toEqual().

I was looking for the same thing and found an existing way to do so without any custom code or matchers. Use toEqual().

相关文章