Open In App

Node.js assert.rejects() Function

Last Updated : 07 Aug, 2020
Improve
Improve
Like Article
Like
Save
Share
Report

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:

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.

Return Value: This function returns assertion error of object type.

Installation of assert module:

  1. 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.

  2. After installing the assert module, you can check your assert version in command prompt using the command.
    npm version assert
  3. After that, you can just create a folder and add a file for example, index.js as shown below.

Example 1: Filename: index.js




// 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")
    });
})();


Steps to run the program:

  1. The project structure will look like this:
  2. 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)

Example 2: Filename: index.js




// 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")
    });
})();


Steps to run the program:

  1. The project structure will look like this:
  2. Run index.js file using below command:
    node index.js

    Output:

    Reject Demo Works Successfully
    

Reference: https://nodejs.org/dist/latest-v12.x/docs/api/assert.html#assert_assert_rejects_asyncfn_error_message



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads