Referência rápida

Folha de Cola Módulo assert do Node.js

Guia rápido para o módulo assert do Node.js: asserções estritas, verificação de igualdade profunda, exceções e validação assíncrona.

· Publicado

O módulo nativo assert do Node.js fornece um framework de asserções para checagem de invariantes em testes e validações em tempo de execução.

Asserções Estritas (Recomendado)

Importe sempre assert/strict no Node.js moderno para exigir igualdade estrita (===):

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

Veracidade e Igualdade

// Verificação de valor truthy
assert(val, 'Expected value to be truthy');
assert.ok(val, 'Alias para assert()');

// Igualdade estrita (===)
assert.equal(actual, expected);
assert.notEqual(actual, expected);

// Igualdade profunda estrita de objetos
assert.deepEqual({ a: 1, b: [2] }, { a: 1, b: [2] });
assert.notDeepEqual({ a: 1 }, { a: 2 });

Tratamento de Erros & Exceções

assert.throws()

Verifica se uma função lança o erro esperado:

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

assert.doesNotThrow()

Verifica se um bloco é executado sem lançar uma exceção não tratada:

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

Asserções Assíncronas

// Verificação de rejeição (rejection) para promises
await assert.rejects(
  async () => {
    await fetchInvalidUrl();
  },
  {
    name: 'TypeError'
  }
);

// Verificação de resolução positiva para promises
await assert.doesNotReject(async () => {
  await fetchValidUrl();
});

Referências

Temas relacionados