Referință rapidă

Fișă de Referință Modul assert Node.js

Ghid rapid pentru modulul assert din Node.js: aserțiuni stricte, verificări de egalitate profundă, aruncare de excepții și validare asincronă.

· Publicat

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

Referințe

Subiecte conexe