👠

Jestで「Received: serializes to the same string」

事象

Jestで返り値のオブジェクトを比較しようとしてエラーが出る

expect(received).resolves.toBe(expected) // Object.is equality

If it should pass with deep equality, replace "toBe" with "toStrictEqual"

Expected: {"id": "1", "content": "testContent"}
Received: serializes to the same string

解決方法

エラーメッセージに書いてある通り、.toStrictEqualを使うと解決できました

原因

toBe(value)は比較対象がプリミティブ型(string, numberなど)のみです。

今回のようにオブジェクトを比較するときは使えません。

ちなみに浮動小数点を扱うときは.toBeCloseTo()を使う方がよいです。

Expect · Jest