Freeze time in a test

Javascript

Node's mock timers make anything date-dependent deterministic without injecting a clock everywhere.

import { mock, test } from 'node:test';

test('expires after an hour', (t) => {
  t.mock.timers.enable({ apis: ['Date'], now: new Date('2026-01-01T00:00:00Z') });
  const token = issueToken();
  t.mock.timers.tick(61 * 60 * 1000);
  assert.equal(isValid(token), false);
});

More in Testing

Random picks