Checking object equality in Jasmine

Dan picture Dan · May 6, 2013 · Viewed 76k times · Source

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");
    }
}

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.

What is the standard way to compare objects in Jasmine?

Answer

lukas.pukenis picture lukas.pukenis · Jul 5, 2013

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