typestar

El módulo assert en JavaScript

Igualdad profunda, throws y las variantes estrictas que conviene preferir.

import test from "node:test";
import assert from "node:assert/strict";

test("deep comparisons", () => {
  assert.deepStrictEqual({ a: [1, 2] }, { a: [1, 2] });
  assert.notDeepStrictEqual({ a: 1 }, { a: "1" });
  assert.deepStrictEqual(new Set([1]), new Set([1]));
});

test("throwing", () => {
  assert.throws(() => JSON.parse("{oops"), SyntaxError);
  assert.throws(() => { throw new TypeError("bad shape"); }, /shape/);
  assert.doesNotThrow(() => JSON.parse("{}"));
});

test("numbers and truthiness", () => {
  assert.ok(0.1 + 0.2 !== 0.3);
  assert.match("typestar.io", /^[a-z]+\.io$/);
});

Cómo funciona

  1. assert/strict vuelve estricta cada comparación.
  2. deepStrictEqual compara estructura y tipos.
  3. assert.throws acepta un objeto de coincidencia o una regex.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
19
Caracteres a escribir
581
Tokens
178
Ritmo de tres estrellas
105 tpm

Al ritmo de tres estrellas de 105 tokens por minuto, este intento toma unos 102 segundos.

Escribe este fragmento

Paso 2 de 2 en Selección; paso 8 de 9 en Pruebas con node:test.

← Anterior Siguiente →