Kurzreferenz

Node.js assert-Modul Spickzettel

Kurzreferenz für das Node.js assert-Modul: strikte Assertions, tiefe Gleichheitsprüfungen, Exception-Tests und asynchrone Fehlerprüfung.

· Veröffentlicht

Das integrierte assert-Modul von Node.js stellt ein Assertion-Framework zum Prüfen von Invarianten in Tests und zur Laufzeitvalidierung bereit.

Strikte Assertions (Empfohlen)

Importieren Sie in modernem Node.js stets assert/strict, um strikte Gleichheit (===) zu erzwingen:

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

Wahrheitswerte & Gleichheit

// Prüfung auf Truthiness
assert(val, 'Expected value to be truthy');
assert.ok(val, 'Alias für assert()');

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

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

Fehlerbehandlung & Exceptions

assert.throws()

Prüft, ob eine Funktion einen erwarteten Fehler wirft:

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

assert.doesNotThrow()

Prüft, ob ein Codeblock ohne unbehandelte Exception durchläuft:

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

Asynchrone Assertions

// Rejection-Prüfung für Promises
await assert.rejects(
  async () => {
    await fetchInvalidUrl();
  },
  {
    name: 'TypeError'
  }
);

// Resolution-Prüfung für Promises
await assert.doesNotReject(async () => {
  await fetchValidUrl();
});

Referenzen

Verwandte Themen