Snelle referentie

Node.js assert-module Spiekbriefje

Beknopte referentiegids voor de Node.js assert-module: strikte assertions, diepe gelijkheidscontroles, excepties en asynchrone foutvalidatie.

· Gepubliceerd

De ingebouwde assert-module van Node.js biedt een assertion-framework voor invariantcontroles in tests en runtime-validaties.

Strikte Assertions (Aanbevolen)

Importeer in moderne Node.js altijd assert/strict om strikte gelijkheid (===) af te dwingen:

const assert = require('assert/strict');
// of import assert from 'node:assert/strict';

Waarheid & Gelijkheid

// Controle op truthy waarde
assert(val, 'Expected value to be truthy');
assert.ok(val, 'Alias voor assert()');

// Strikte gelijkheid (===)
assert.equal(actual, expected);
assert.notEqual(actual, expected);

// Strikte diepe objectgelijkheid
assert.deepEqual({ a: 1, b: [2] }, { a: 1, b: [2] });
assert.notDeepEqual({ a: 1 }, { a: 2 });

Foutafhandeling & Uitzonderingen

assert.throws()

Controleert of een functie de verwachte fout werpt:

assert.throws(
  () => {
    throw new TypeError('Invalid parameter');
  },
  {
    name: 'TypeError',
    message: 'Invalid parameter'
  }
);

assert.doesNotThrow()

Controleert of een blok uitvoert zonder onafgehandelde uitzondering:

assert.doesNotThrow(() => {
  safeOperation();
});

Asynchrone Assertions

// Verificatie van afgewezen promise (rejection)
await assert.rejects(
  async () => {
    await fetchInvalidUrl();
  },
  {
    name: 'TypeError'
  }
);

// Verificatie van geslaagde promise (resolution)
await assert.doesNotReject(async () => {
  await fetchValidUrl();
});

Referenties

Verwante onderwerpen