What is the notEqual method of the assert module in Node.js?
The notEqual method of the assert module in Node.js uses the != operator (Abstract Equality Comparison) to check for inequality between two values.
The process is illustrated below:
Note: You can view a list of rules for the
!=operator here.
To use the notEqual method, you will need to install the assert module using the command prompt, as shown below:
npm install assert
After the installation is complete, you will need to import the assert module into the program, as shown below:
const assert = require('assert');
The prototype of the notEqual method is shown below:
notEqual(actual, expected[, message])
Parameters
The notEqual method takes the following parameters:
-
actual: The first of the two values to compare. -
expected: The second of the two values to compare. -
message: This optional parameter holds the error message in case of an AssertionError. If this parameter is left empty, a default message is assigned.
Return value
If the values are equal, then the notEqual method throws an AssertionError, and the program terminates; otherwise, execution continues as normal.
In case of an error, the message property of the AssertionError is set equal to the message parameter. If the message parameter is not provided, a default value is assigned to the message property of the AssertionError.
Note: The
notEqualmethod also handlesNaN(Not-A-Number) comparisons. If both values areNaN, thenotEqualmethod recognizes them as being identical.
Example
The code below shows how the notEqual method works in Node.js:
const assert = require('assert');// evaluating first expressiontry{assert.notEqual(10, 5, "Assertion Error: The values are equal.")console.log("No error.")}catch(error){console.log(error.message)}// evaluating second expressiontry{assert.notEqual(10, 10, "Assertion Error: The values are equal.")console.log("No error.")}catch(error){console.log(error.message)}// evaluating third expressiontry{assert.notEqual(10, "10", "Assertion Error: The values are equal.")console.log("No error.")}catch(error){console.log(error.message)}
Explanation
The code above uses different expressions to show the behavior of the notEqual method.
In the first expression in line , the actual and expected parameters are not equal, so the notEqual method does not throw any errors. Therefore, only the try branch of the try-catch block executes.
In the second expression in line , the actual and expected parameters are both , so an error is thrown, which triggers the catch branch of the try-catch block. The code outputs the message associated with the error, i.e., the string provided as the message parameter to the notEqual method in line .
Similarly, in the third expression in line , the actual and expected parameters are both 10, but they have different types. The actual parameter is an integer, whereas the expected parameter is a string. Since the notEqual method uses abstract equality comparison rules, an error is thrown, which triggers the catch branch of the try-catch block. The code outputs the message associated with the error, i.e., the string provided as the message parameter to the notEqual method in line .
Free Resources