Snabbreferens

Fusklapp för assert-modulen i Node.js

Snabbreferens för Node.js assert-modul: strikta assertions, djupa likhetskontroller, undantag och asynkron felvalidering.

· Publicerad

Den inbyggda assert-modulen i Node.js tillhandahåller ett assertion-ramverk för att verifiera invarianter i tester och under körning.

Strikta Assertions (Rekommenderat)

Importera alltid assert/strict i modern Node.js för att tvinga fram strikt likhet (===):

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

Sanning & Likhet

// Kontroll av truthy-värde
assert(val, 'Expected value to be truthy');
assert.ok(val, 'Alias för assert()');

// Strikt likhet (===)
assert.equal(actual, expected);
assert.notEqual(actual, expected);

// Strikt djup objektlikhet
assert.deepEqual({ a: 1, b: [2] }, { a: 1, b: [2] });
assert.notDeepEqual({ a: 1 }, { a: 2 });

Felhantering & Undantag

assert.throws()

Verifierar att en funktion kastar ett förväntat fel:

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

assert.doesNotThrow()

Verifierar att ett block körs utan att kasta ett ohanterat undantag:

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

Asynkrona Assertions

// Verifiering av avvisat promise (rejection)
await assert.rejects(
  async () => {
    await fetchInvalidUrl();
  },
  {
    name: 'TypeError'
  }
);

// Verifiering av uppfyllt promise (resolution)
await assert.doesNotReject(async () => {
  await fetchValidUrl();
});

Referenser

Relaterade ämnen