bun:test 의 mock 함수를 사용하여 모의 함수를 생성하세요.
ts
import { test, expect, mock } from "bun:test";
const random = mock(() => Math.random());모의 함수는 인수를 받을 수 있습니다.
ts
import { test, expect, mock } from "bun:test";
const random = mock((multiplier: number) => multiplier * Math.random());mock() 의 결과는 몇 가지 추가 속성으로 장식된 새 함수입니다.
ts
import { mock } from "bun:test";
const random = mock((multiplier: number) => multiplier * Math.random());
random(2);
random(10);
random.mock.calls;
// [[ 2 ], [ 10 ]]
random.mock.results;
// [
// { type: "return", value: 0.6533907460954099 },
// { type: "return", value: 0.6452713933037312 }
// ]이러한 추가 속성을 사용하면 모의 함수 사용에 대한 expect 어설션을 작성할 수 있습니다. 이는 호출 횟수, 인수 및 반환 값을 포함합니다.
ts
import { test, expect, mock } from "bun:test";
const random = mock((multiplier: number) => multiplier * Math.random());
test("random", async () => {
const a = random(1);
const b = random(2);
const c = random(3);
expect(random).toHaveBeenCalled();
expect(random).toHaveBeenCalledTimes(3);
expect(random.mock.args).toEqual([[1], [2], [3]]);
expect(random.mock.results[0]).toEqual({ type: "return", value: a });
});Bun 테스트 러너로 모의에 대한 전체 문서는 문서 > 테스트 러너 > 모의 를 참조하세요.