Modulul integrat assert din Node.js oferă un cadru de aserțiuni pentru verificarea invarianților în teste și validări la execuție.
Aserțiuni Stricte (Recomandat)
Importați întotdeauna assert/strict în Node.js modern pentru a impune egalitatea strictă (===):
const assert = require('assert/strict');
// sau import assert from 'node:assert/strict';
Valori Adevărate & Egalitate
// Verificare truthiness
assert(val, 'Expected value to be truthy');
assert.ok(val, 'Alias pentru assert()');
// Egalitate strictă (===)
assert.equal(actual, expected);
assert.notEqual(actual, expected);
// Egalitate profundă strictă a obiectelor
assert.deepEqual({ a: 1, b: [2] }, { a: 1, b: [2] });
assert.notDeepEqual({ a: 1 }, { a: 2 });
Gestionarea Erorilor & Excepțiilor
assert.throws()
Verifică dacă o funcție aruncă eroarea așteptată:
assert.throws(
() => {
throw new TypeError('Invalid parameter');
},
{
name: 'TypeError',
message: 'Invalid parameter'
}
);
assert.doesNotThrow()
Verifică dacă un bloc rulează fără să arunce o excepție neprinsă:
assert.doesNotThrow(() => {
safeOperation();
});
Aserțiuni Asincrone
// Verificarea respingerii (rejection) pentru promise-uri
await assert.rejects(
async () => {
await fetchInvalidUrl();
},
{
name: 'TypeError'
}
);
// Verificarea rezolvării cu succes pentru promise-uri
await assert.doesNotReject(async () => {
await fetchValidUrl();
});