Introduction to Assert-Plus
assert-plus
is a augmentation package for the built-in Node.js assert
module.
It provides enhanced assertion functionalities and extra features for developers to produce reliable and maintainable code.
In this blog post, we will dive deep into the assert-plus
functionalities along with dozens of API examples.
API Examples
1. assert.ok(value, [message])
const assert = require('assert-plus');
// Simple check
assert.ok(true, "This will pass");
// This will throw an AssertionError
assert.ok(false, "This will fail");
2. assert.equal(actual, expected, [message])
const assert = require('assert-plus');
// Check if values are equal
assert.equal(3, 3, "Values are equal");
// This will throw an AssertionError
assert.equal(3, 4, "Values are not equal");
3. assert.notEqual(actual, expected, [message])
const assert = require('assert-plus');
// Check if values are not equal
assert.notEqual(3, 4, "Values are not equal");
// This will throw an AssertionError
assert.notEqual(3, 3, "Values are equal");
4. assert.strictEqual(actual, expected, [message])
const assert = require('assert-plus');
// Check if values are strictly equal
assert.strictEqual(3, 3, "Values are strictly equal");
// This will throw an AssertionError
assert.strictEqual(3, '3', "Values are not strictly equal");
5. assert.deepEqual(actual, expected, [message])
const assert = require('assert-plus');
// Check if objects are deeply equal
assert.deepEqual({a: 1}, {a: 1}, "Objects are deeply equal");
// This will throw an AssertionError
assert.deepEqual({a: 1}, {a: 2}, "Objects are not deeply equal");
6. assert.throws(block, [error], [message])
const assert = require('assert-plus');
// This will pass
assert.throws(() => { throw new Error("Error thrown"); }, Error, "Error was thrown");
// This will throw an AssertionError
assert.throws(() => { }, Error, "No error was thrown");
7. assert.doesNotThrow(block, [message])
const assert = require('assert-plus');
// This will pass
assert.doesNotThrow(() => { }, Error, "No error should be thrown");
// This will throw an AssertionError
assert.doesNotThrow(() => { throw new Error("Error thrown"); }, Error, "An error was thrown");
Example Application Using assert-plus
const assert = require('assert-plus');
// Function that validates user details
function validateUser(user) {
assert.object(user, 'User must be an object');
assert.string(user.name, 'User name must be a string');
assert.number(user.age, 'User age must be a number');
assert.bool(user.isActive, 'User active status must be a boolean');
}
// Sample user data
const user = {
name: 'John Doe',
age: 30,
isActive: true
};
// Validate user
validateUser(user);
As demonstrated in this application, assert-plus
can be used to enforce stricter validations ensuring
that the data your functions receive are consistent with your expectations. This minimizes the risk of unexpected errors
and makes your code more robust and maintainable. Happy coding!
Hash: f47e3e691ce3678f97db7571581002998e415dab77c489983baac509aaa84a41