Pular para o conteúdo principal
Versão: v3.x.x

🕵🏻 Assert

O Poku inclui o método assert nativo do Node.js, mantendo tudo como está, mas fornecendo legibilidade para humanos.
Suporta tanto o Bun quanto o Deno.

O assert é usado para escrever testes e verificar se seu código funciona como esperado, comparando valores e lançando erros 🧑🏻‍🎓

Migrando para o assert do Poku

Mas apenas se você quiser, é claro.

Asserções padrões:

- import assert from 'node:assert';
+ import { assert } from 'poku';

Asserções estritas:

- import assert from 'node:assert/strict';
+ import { strict as assert } from 'poku';
  • O método strict está disponível para Node.js 16 em diante, Bun e Deno.
assert(true, 'Isso é válido 🧪');
assert.strictEqual(1, '1', 'O Poku irá descrever isso e mostrar um erro 🐷');
// ...
dica

O assert do Poku usará a mensagem exatamente como seria ao usar describe e it.
Seu Poku está esperando por você 🐷✨


📘 Para aprender sobre asserções, veja o tutorial rápido: De um teste de asserção básico à sua execução.


Métodos Disponíveis

import { assert } from 'poku';
// import { strict as assert } from 'poku';
Asserções positivas

Verdadeira

assert(valor[, mensagem])
assert.ok(valor[, mensagem])

Igualdade

assert.equal(atual, esperado[, mensagem])
assert.strictEqual(atual, esperado[, mensagem])

Igualdade Profunda

assert.deepEqual(atual, esperado[, mensagem])
assert.deepStrictEqual(atual, esperado[, mensagem])

Correspondente

assert.match(string, regexp[, mensagem])

Sucesso

assert.doesNotReject(asyncFn[, erro][, mensagem])
assert.doesNotThrow(fn[, erro][, mensagem])
Asserções Negativas

Desigualdade

assert.notEqual(atual, esperado[, mensagem])
assert.notStrictEqual(atual, esperado[, mensagem])

Desigualdade Profunda

assert.notDeepEqual(atual, esperado[, mensagem])
assert.notDeepStrictEqual(atual, esperado[, mensagem])

Não Correspondente

assert.doesNotMatch(string, regexp[, mensagem])

Falha

assert.rejects(asyncFn[, erro][, mensagem])
assert.throws(fn[, erro][, mensagem])
Tratamento de Erro

Falso

assert.ifError(valor);
  • Teste para um valor de erro, útil em callbacks

Falha Forçada

assert.fail([mensagem]);

Você pode seguir a documentação do assert da documentação do Node.js.

nota

Para o Node.js, os métodos assert.match e assert.doesNotMatch estão disponíveis a partir da versão 12 ou superior.

info

Para compilar testes usando assert com TypeScript, você pode precisar instalar o @types/node:

npm i -D @types/node