The assert module provides a set of assertion functions for verifying invariants. The assert.rejects() function awaits the asyncFn promise or if the asyncFn is a function then it immediately calls the function and awaits the returned promise to complete and after that it will then check that the promise is rejected.
Syntax:
javascript
Steps to run the program:
javascript
Steps to run the program:
assert.rejects(asyncFn[, error][, message])Parameters: This function accepts following parameters as mentioned above and described below:
- asyncFn: This parameter is async function which throws an error synchronously.
- error: This parameter can be of type Class or a Regular expression or a validation function or an object where each property will be tested for. It is an optional parameter.
- message: This parameter will be the message provided by the AssertionError if the asyncFn fails to reject. It is an optional parameter.
- You can visit the link to Install assert module. You can install this package by using this command.
npm install assert
Note: Installation is an optional step as it is inbuilt Node.js module. - After installing the assert module, you can check your assert version in command prompt using the command.
npm version assert
- After that, you can just create a folder and add a file for example, index.js as shown below.
// Requiring the module
const assert = require('assert').strict;
// Function call
(async () => {
assert.strictEqual(1,2)
await assert.rejects(
async () => {
throw new TypeError('Wrong value');
},
(err) => {
assert.strictEqual(err.name, 'TypeError');
assert.strictEqual(err.message, 'Wrong value');
return true;
}
).then(() => {
console.log("Reject Demo")
});
})();
- The project structure will look like this:

- Run index.js file using below command:
node index.js
Output:(node:12704) UnhandledPromiseRejectionWarning: AssertionError [ERR_ASSERTION]: Expected values to be strictly equal: 1 !== 2 at C:\Users\Lenovo\Downloads\Geeksforgeeks Internship\index.js:25:12 at Object. (C:\Users\Lenovo\Downloads\Geeksforgeeks Internship\NEW\Assert Function \index.js:38:3) at Module._compile (internal/modules/cjs/loader.js:1138:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1158:10) at Module.load (internal/modules/cjs/loader.js:986:32) at Function.Module._load (internal/modules/cjs/loader.js:879:14) at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12) at internal/main/run_main_module.js:17:47 (node:12704) 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(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
// Requiring the module
const assert = require('assert').strict;
// Function call
(async () => {
assert.strictEqual(1,1)
await assert.rejects(
async () => {
throw new TypeError('Wrong value');
},
(err) => {
assert.strictEqual(err.name, 'TypeError');
assert.strictEqual(err.message, 'Wrong value');
return true;
}
).then(() => {
console.log("Reject Demo Works Successfully")
});
})();
- The project structure will look like this:

- Run index.js file using below command:
node index.js
Output:Reject Demo Works Successfully