Bun 의 테스트 러너는 setSystemTime 함수를 사용하여 시스템 시간을 프로그래밍 방식으로 설정하는 것을 지원합니다.
ts
import { test, expect, setSystemTime } from "bun:test";
test("1999 년처럼 파티하기", () => {
const date = new Date("1999-01-01T00:00:00.000Z");
setSystemTime(date); // 이제 1999 년 1 월 1 일입니다
const now = new Date();
expect(now.getFullYear()).toBe(1999);
expect(now.getMonth()).toBe(0);
expect(now.getDate()).toBe(1);
});setSystemTime 함수는 일반적으로 라이프사이클 후크 와 함께 사용하여 결정론적인 "가상 시계"로 테스트 환경을 구성하는 데 사용됩니다.
ts
import { test, expect, beforeAll, setSystemTime } from "bun:test";
beforeAll(() => {
const date = new Date("1999-01-01T00:00:00.000Z");
setSystemTime(date); // 이제 1999 년 1 월 1 일입니다
});
// 테스트...시스템 시계를 실제 시간으로 재설정하려면 인수 없이 setSystemTime 을 호출하세요.
ts
import { test, expect, beforeAll, setSystemTime } from "bun:test";
setSystemTime(); // 실제 시간으로 재설정Bun 테스트 러너로 모의에 대한 전체 문서는 문서 > 테스트 러너 > 날짜 및 시간 을 참조하세요.