Skip to main content

notDeepEqual

function assert.notDeepEqual
Jump to headingnotDeepEqual(
actual: unknown,
expected: unknown,
message?: string | Error,
): void

Strict assertion mode

An alias of notDeepStrictEqual.

Legacy assertion mode

Stability: 3 - Legacy: Use notDeepStrictEqual instead.

Tests for any deep inequality. Opposite of deepEqual.

import assert from 'node:assert';

const obj1 = {
  a: {
    b: 1,
  },
};
const obj2 = {
  a: {
    b: 2,
  },
};
const obj3 = {
  a: {
    b: 1,
  },
};
const obj4 = { __proto__: obj1 };

assert.notDeepEqual(obj1, obj1);
// AssertionError: { a: { b: 1 } } notDeepEqual { a: { b: 1 } }

assert.notDeepEqual(obj1, obj2);
// OK

assert.notDeepEqual(obj1, obj3);
// AssertionError: { a: { b: 1 } } notDeepEqual { a: { b: 1 } }

assert.notDeepEqual(obj1, obj4);
// OK

If the values are deeply equal, an AssertionError is thrown with a message property set equal to the value of the message parameter. If the message parameter is undefined, a default error message is assigned. If the message parameter is an instance of an Error then it will be thrown instead of the AssertionError.

Parameters Jump to heading

Jump to headingactual: unknown
Jump to headingexpected: unknown
optional
Jump to headingmessage: string | Error

Return Type Jump to heading

void
Back to top