কম্পিউটার

node.js-এ assert.rejects() ফাংশন


অ্যাসার্ট মডিউলটি বিভিন্ন কার্যকারিতার একটি গুচ্ছ সরবরাহ করে যা ফাংশন দাবীর জন্য ব্যবহৃত হয়। assert.rejects ফাংশন পাস করা async ফাংশন 'asyncfn' প্রতিশ্রুতির জন্য অপেক্ষা করবে। যদি asyncfn একটি ফাংশন হয়, এটি অবিলম্বে এই ফাংশনটিকে কল করবে এবং এটির প্রত্যাবর্তিত প্রতিশ্রুতি সম্পূর্ণ হওয়ার জন্য অপেক্ষা করবে। এটি তখন প্রত্যাখ্যান করার প্রতিশ্রুতি পরীক্ষা করবে৷

সিনট্যাক্স

assert.rejects(asyncfn, [error], [message])

পরামিতি

উপরের পরামিতিগুলি নীচে −

হিসাবে বর্ণনা করা হয়েছে
  • মান – এটি একটি অ্যাসিঙ্ক ফাংশন যা সিঙ্ক্রোনাসভাবে ত্রুটিগুলি নিক্ষেপ করবে৷

  • ত্রুটি - এই প্যারামিটারটি ক্লাস, রেগুলার এক্সপ্রেশন, ভ্যালিডেশন ফাংশন বা এমন একটি বস্তুকে ধরে রাখতে পারে যেখানে প্রতিটি সম্পত্তি পরীক্ষা করা হবে। (ঐচ্ছিক প্যারামিটার)

  • বার্তা - এটি একটি ঐচ্ছিক পরামিতি। এটি একটি ব্যবহারকারী সংজ্ঞায়িত বার্তা যখন ফাংশনটি কার্যকর করা হয় তখন মুদ্রিত হয়৷

এসার্ট মডিউল ইনস্টল করা হচ্ছে

npm install assert

assert মডিউলটি একটি অন্তর্নির্মিত Node.js মডিউল, তাই আপনি এই ধাপটিও এড়িয়ে যেতে পারেন। আপনি লেটেস্ট অ্যাসার্ট মডিউল পেতে নিম্নলিখিত কমান্ডটি ব্যবহার করে অ্যাসার্ট সংস্করণটি পরীক্ষা করতে পারেন।

npm version assert

আপনার ফাংশনে মডিউল আমদানি করা হচ্ছে

const assert = require("assert").strict;

উদাহরণ

নাম দিয়ে একটি ফাইল তৈরি করুন – assertRejects.js এবং নীচের কোড স্নিপেটটি অনুলিপি করুন। ফাইল তৈরি করার পর এই কোডটি চালানোর জন্য নিচের কমান্ডটি ব্যবহার করুন।

node assertRejects.js

assertRejects.js

/// Importing the module
const assert = require('assert').strict;

(async () => {
   assert.strictEqual(21,20)
   await assert.rejects(
   async () => {
      throw new TypeError('Value passed is Incorrect !');
   },
   (err) => {
      assert.strictEqual(err.name, 'TypeError');
      assert.strictEqual(err.message, 'Incorrect value');
      return true;
   }
   ).then(() => {
      console.log("This is a reject demp")
   });
})();

আউটপুট

C:\home\node>> node assertRejects.js
(node:259525) UnhandledPromiseRejectionWarning: AssertionError
[ERR_ASSERTION]: Input A expected to strictly equal input B:
+ expected - actual
- 21
+ 20
   at /home/node/test/assert.js:5:9
   at Object. (/home/node/test/assert.js:18:3)
   at Module._compile (internal/modules/cjs/loader.js:778:30)
   at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
   at Module.load (internal/modules/cjs/loader.js:653:32)
   at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
   at Function.Module._load (internal/modules/cjs/loader.js:585:3)
   at Function.Module.runMain (internal/modules/cjs/loader.js:831:12)
   at startup (internal/bootstrap/node.js:283:19)
   at bootstrapNodeJSCore (internal/bootstrap/node.js:623:3)
(node:259525) UnhandledPromiseRejectionWarning: Unhandled promise rejection.
This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:259525) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

উদাহরণ

আসুন আরও একটি উদাহরণ দেখি।

// Importing the module
const assert = require('assert').strict;

(async () => {
   assert.strictEqual(21,21)
   await assert.rejects(
      async () => {
         throw new TypeError('Value passed is Incorrect !');
      },
      (err) => {
         assert.strictEqual(err.name, 'TypeError');
         assert.strictEqual(err.message, 'Value passed is Incorrect !');
         return true;
      }
      ).then(() => {
         console.log("This is a reject demo success")
   });
})();

আউটপুট

C:\home\node>> node assertRejects.js
This is a reject demo success

  1. জাভাস্ক্রিপ্ট ফাংশন আহ্বান

  2. জাভাস্ক্রিপ্ট নম্বর ফাংশন

  3. জাভাস্ক্রিপ্টে ফাংশন প্রোটোটাইপ

  4. জাভাস্ক্রিপ্টে ফাংশন ধার করা।