Pattern: Inconsistent equality matcher
Issue: -
When asserting primitive values (numbers, strings, booleans), using toBe()
creates more natural-reading tests than toEqual()
or toStrictEqual()
. For null
, undefined
, and NaN
, specific matchers provide better error messages.
Example of incorrect code:
expect(count).toEqual(5);
expect(message).toStrictEqual("hello");
expect(value).toEqual(null);
Example of correct code:
expect(count).toBe(5);
expect(message).toBe("hello");
expect(value).toBeNull();