Understanding Node.js Assert Module : A Comprehensive Guide with Examples

Other Blogs

Blogs ❯❯ NodeJS

Image could not load

NodeJS assert Module

NodeJS assert Module

Node.js में assert module testing और debugging के लिए एक बहुत ही उपयोगी tool है। यह module आपको अपनी code की correctness check करने में मदद करता है। assert module assertions provide करता है, जिन्हें आप code में expect करते हैं कि specific conditions true होनी चाहिए।

इस blog में हम Node.js के assert module के बारे में detail में जानेंगे और examples के साथ इसका उपयोग समझेंगे।

Node.js में assert module एक built-in module है जो unit testing के लिए basic functions provide करता है। यह module आपको test cases लिखने में मदद करता है ताकि आप verify कर सकें कि आपकी code logic सही ढंग से काम कर रही है या नहीं।

जब कोई assertion fail होती है, तो यह error throw करती है, जो बताती है कि कहीं न कहीं code में bug है।

Use assert Module

assert module का उपयोग करने के लिए, आपको इसे require करना होगा -

const assert = require('assert');

NodeJS Basic Assertion

सबसे basic assertion है assert.ok(), जो check करती है कि given expression truthy है या नहीं।

const assert = require('assert'); const value = true; assert.ok(value, 'Value should be true'); // Passes const anotherValue = false; assert.ok(anotherValue, 'Value should be true'); // Throws AssertionError

Equality Checks

1. equal(actual, expected) : यह check करता है की actual और expected loosely equal हैं।

assert.equal(1, '1', 'Values should be loosely equal'); // Passes assert.equal(1, 2, 'Values should be loosely equal'); // Throws AssertionError

2. strictEqual(actual, expected) : यह check करता है की actual और expected strictly equal हैं।

assert.strictEqual(1, 1, 'Values should be strictly equal'); // Passes assert.strictEqual(1, '1', 'Values should be strictly equal'); // Throws AssertionError

3. deepEqual(actual, expected) : यह check करता है की actual और expected objects deeply equal हैं।

assert.deepEqual({ a: 1 }, { a: 1 }, 'Objects should be deeply equal'); // Passes assert.deepEqual({ a: 1 }, { a: '1' }, 'Objects should be deeply equal'); // Passes

4. deepStrictEqual(actual, expected) : यह check करता है की actual और expected objects strictly deeply equal हैं।

assert.deepStrictEqual({ a: 1 }, { a: 1 }, 'Objects should be strictly deeply equal'); // Passes assert.deepStrictEqual({ a: 1 }, { a: '1' }, 'Objects should be strictly deeply equal'); // Throws AssertionError

NodeJS assert : Exception Testing

कभी कभी आपको check करना होता है की कोई function specific error throw कर रहा है या नहीं , assert.throws() का use इसके लिए होता है -

function divide(a, b) { if (b === 0) throw new Error('Cannot divide by zero'); return a / b; } assert.throws(() => divide(4, 0), /Cannot divide by zero/, 'Function should throw an error'); // Passes assert.throws(() => divide(4, 2), /Cannot divide by zero/, 'Function should throw an error'); // Throws AssertionError

Custom Error Message

हर assertion के साथ आप custom error message भी provide कर सकते हैं -

const actual = 10; const expected = 20; assert.strictEqual(actual, expected, `Expected ${expected}, but got ${actual}`); // Throws AssertionError with custom message

NodeJS Advanced Assertions

Node.js assert module में कुछ advanced assertions भी होते हैं -

1. rejects(asyncFn, error, message) : यह check करता है की कोई async function reject होता है या नहीं ।

async function asyncFunction() { throw new Error('Async error'); } assert.rejects(asyncFunction, /Async error/, 'Function should reject with async error'); // Passes

2. doesNotThrow(fn, error, message) : यह check करता है की कोई function error throw नहीं करता ।

function safeFunction() { return 'Safe!'; } assert.doesNotThrow(safeFunction, Error, 'Function should not throw an error'); // Passes

3. notDeepEqual(actual, expected, message) : यह check करता है की दो objects deeply equal नहीं हैं।

assert.notDeepEqual({ a: 1 }, { a: 2 }, 'Objects should not be deeply equal'); // Passes

Conclusion

Node.js assert module एक simple लेकिन powerful tool है जो आपको अपने code की correctness ensure करने में help करता है। यह testing और debugging process को efficient बनाता है और आपको errors को quickly identify करने में मदद करता है। Assert module का सही use आपको robust और reliable applications build करने में help करेगा।

I Hope , यह blog आपको assert module को समझने और effectively use करने में helpful रहा होगा।

Happy Coding :)

Related Topics :

Recent Blogs

Loading ...

Hey ! I'm Rahul founder of learnhindituts.com. Working in IT industry more than 4.5 years. I love to talk about programming as well as writing technical tutorials and blogs that can help to others .... keep learning :)

Get connected with me - LinkedIn Twitter Instagram Facebook

Your Thought ?

Please wait . . .

    0 Comment(s) found !