assert.deepStrictEqual() Function in Node.js
0 114
Introduction to assert.deepStrictEqual()
In Node.js, the assert.deepStrictEqual()
method is used to perform a deep comparison between two values to ensure they are strictly equal in both structure and type. It's part of Node’s built-in assert
module, commonly used for unit testing or internal validation in code.
Why Use deepStrictEqual?
While assert.strictEqual()
works well for comparing primitive values, it doesn't handle complex structures like objects or arrays effectively. That's where deepStrictEqual()
shines—it's designed for deep, recursive comparisons of nested data.
Importing the assert Module
Since it's a core module, you can start using it by simply requiring it:
const assert = require('assert');
Syntax of assert.deepStrictEqual()
The method signature is straightforward:
assert.deepStrictEqual(actual, expected[, message])
- actual: The actual value you want to test.
- expected: The expected value you want to match against.
- message (optional): A custom error message shown if the assertion fails.
How it Works
The function performs a deep comparison, checking every level of the objects or arrays involved. It also ensures that the data types match exactly. If any mismatch is found—either in structure or type—it throws an AssertionError
.
Example 1: Passing Assertion
const assert = require('assert');
const obj1 = { a: 1, b: [2, 3] };
const obj2 = { a: 1, b: [2, 3] };
assert.deepStrictEqual(obj1, obj2); // No error thrown
Example 2: Failing Assertion
const assert = require('assert');
const obj1 = { a: 1, b: [2, 3] };
const obj2 = { a: 1, b: ['2', 3] }; // '2' is a string, not a number
assert.deepStrictEqual(obj1, obj2); // Throws AssertionError
Example 3: With Custom Message
const assert = require('assert');
const actual = { x: 10 };
const expected = { x: '10' };
assert.deepStrictEqual(actual, expected, 'Values do not match deeply and strictly');
// Output: AssertionError: Values do not match deeply and strictly
Key Characteristics
- Checks both value and data type at every depth.
- Works on arrays, objects, and nested structures.
- Helps validate test conditions precisely.
Use Cases
- Comparing API response objects in tests
- Checking deep equality of configuration files
- Validating internal data processing logic
Conclusion
The assert.deepStrictEqual()
function is a valuable tool for strict deep comparisons in Node.js applications. It helps you catch issues where structures may appear similar on the surface but differ in detail. Whether you're writing tests or validating logic, this method ensures your data matches both in form and in type.
If you’re passionate about building a successful blogging website, check out this helpful guide at Coding Tag – How to Start a Successful Blog. It offers practical steps and expert tips to kickstart your blogging journey!
For dedicated UPSC exam preparation, we highly recommend visiting www.iasmania.com. It offers well-structured resources, current affairs, and subject-wise notes tailored specifically for aspirants. Start your journey today!

Share:
Comments
Waiting for your comments