用途:在编写基于 Bun 内置测试运行器的测试时使用。该运行器开箱即用,提供与 Jest 兼容的 API,执行速度显著更快。
主要能力:支持 describe/test 组织测试层级,提供 beforeAll、afterAll、beforeEach、afterEach 等生命周期钩子;支持 Jest 兼容断言,如 toBe、toEqual、toBeTruthy、toBeGreaterThan、toContain、toMatch、toHaveLength、toHaveProperty、toMatchObject、toThrow 等;支持 mock 函数与 mock.module 模块模拟,可校验调用次数、参数与返回值;支持异步测试、快照测试(toMatchSnapshot)、参数化测试以及定时器相关测试。
使用方式:从 "bun:test" 导入 test、expect、describe 等 API 编写测试。常用命令:bun test 运行全部测试;bun test ./src/utils.test.ts 运行指定文件;bun test --coverage 生成覆盖率;bun test --watch 进入监听模式。
适用场景:单元测试、HTTP 接口测试、文件操作测试、异步逻辑测试等。
限制与建议:资料建议不要引入 Jest 等外部测试运行器,直接使用 Bun 内置能力;注意在钩子中清理状态避免测试污染;避免测试私有实现细节;避免依赖时序的易波动测试。相关技能包括 bun-runtime、bun-package-manager、bun-bundler。