Skip to content

El ejecutor de pruebas de Bun admite establecer la hora del sistema programáticamente con la función setSystemTime.

ts
import { test, expect, setSystemTime } from "bun:test";

test("fiesta como en 1999", () => {
  const date = new Date("1999-01-01T00:00:00.000Z");
  setSystemTime(date); // ahora es 1 de enero de 1999

  const now = new Date();
  expect(now.getFullYear()).toBe(1999);
  expect(now.getMonth()).toBe(0);
  expect(now.getDate()).toBe(1);
});

La función setSystemTime se usa comúnmente junto con Ganchos de Ciclo de Vida para configurar un entorno de prueba con un "reloj falso" determinista.

ts
import { test, expect, beforeAll, setSystemTime } from "bun:test";

beforeAll(() => {
  const date = new Date("1999-01-01T00:00:00.000Z");
  setSystemTime(date); // ahora es 1 de enero de 1999
});

// pruebas...

Para restablecer el reloj a la hora actual, llama a setSystemTime sin argumentos.

ts
import { test, expect, beforeAll, setSystemTime } from "bun:test";

setSystemTime(); // restablecer a la hora actual

Consulta Documentación > Ejecutor de Pruebas > Fecha y hora para documentación completa sobre simulación con el ejecutor de pruebas de Bun.

Bun por www.bunjs.com.cn editar