Skip to main content
assert.notDeepEqual - assert - Node documentation
function assert.notDeepEqual

Usage in Deno

import assert from "node:assert";
notDeepEqual(
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

actual: unknown
expected: unknown
optional
message: string | Error

Return Type

void