Hooks en JavaScript
before y after corren una vez; las variantes each, por cada prueba.
import { after, afterEach, before, beforeEach, describe, it }
from "node:test";
import assert from "node:assert/strict";
describe("session", () => {
let session;
const log = [];
before(() => log.push("open"));
after(() => log.push("close"));
beforeEach(() => { session = { runs: [] }; });
afterEach(() => log.push("reset"));
it("starts empty", () => assert.equal(session.runs.length, 0));
it("records a run", () => {
session.runs.push(104);
assert.deepEqual(session.runs, [104]);
});
it("is isolated from the previous test", () => {
assert.equal(session.runs.length, 0);
});
});
Cómo funciona
beforeEachreconstruye el estado para que las pruebas sigan independientes.afteres donde desaparece un servidor o un directorio temporal.- Los hooks se limitan a su bloque describe.
Palabras clave y builtins usados aquí
constfromimportlet
El intento, en números
- Líneas
- 24
- Caracteres a escribir
- 583
- Tokens
- 177
- Ritmo de tres estrellas
- 105 tpm
Al ritmo de tres estrellas de 105 tokens por minuto, este intento toma unos 101 segundos.
Paso 2 de 2 en Async y hooks; paso 4 de 9 en Pruebas con node:test.