M
assert.notDeepEqual
History
Added in: v0.1.21
v0.1.21
Introduced in: v0.1.21
v0.1.21
Message may now be a
printf-like format string or function.v26.0.0
In Legacy assertion mode, changed status from Deprecated to Legacy.
v16.0.0, v14.18.0
NaN is now treated as being identical if both sides are NaN.
v14.0.0
The
Error names and messages are now properly compared.v9.0.0
The
Set and Map content is also compared.v8.0.0
Typed array slices are handled correctly now.
v6.4.0, v4.7.1
Objects with circular references can be used as inputs now.
v6.1.0, v4.5.0
Handle non-
Uint8Array typed arrays correctly.v5.10.1, v4.4.3
assert.notDeepEqual(actual, expected, message?): void
Attributes
Strict assertion mode
An alias of assert.notDeepStrictEqual().
Legacy assertion mode
Stability: 3Legacy: Use
assert.notDeepStrictEqual() instead.Tests for any deep inequality. Opposite of assert.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
const assert = require('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 Error then it will be thrown
instead of the AssertionError.