SuperAPI AI 工具集

bun-test

测试与质量

查看项目

更新于 10-15 19:53

技能介绍

用途:本技能面向使用 Bun 内置测试框架编写与调试测试,重点覆盖 Mock、覆盖率与测试隔离。

主要能力:

  • 测试编写与运行:从 bun:test 导入 describe、expect、it、mock、spyOn、beforeEach、afterEach、afterAll 等。
  • 常用命令:bun test、bun test --watch、bun test --coverage、bun test src/api、bun test --test-name-pattern "pattern"。
  • Mock 能力:mock 函数并断言调用次数,mockReset 与 mockImplementation 重置行为;spyOn 监听对象方法并在 afterAll 中 mockRestore;mock fetch 时需保存并恢复 originalFetch,可对文件加 // @ts-nocheck;mock.module() 需在导入被测模块之前调用。
  • 隔离:文件内测试共享模块级状态,用 afterAll 恢复全局变量;临时目录用 mkdtemp() 每个测试单独创建,afterEach 中 rm 清理。
  • 覆盖率:bun test --coverage 生成文本报告,bun test --coverage-reporter lcov 用于 CI;覆盖率的已知怪癖包括 return 后的闭合括号、函数声明等可能被标记为未覆盖,建议面向有意义代码追求 99%+。
  • 调试:bun test --bail、--timeout(毫秒)、按名称过滤单测,必要时用 console.log(提交前移除)。

常见模式:异步测试与 rejects 断言、参数化测试、测试超时用小延迟。新建测试文件清单:需要时加 // @ts-nocheck、修改前保存原值、afterEach/afterAll 恢复、用 mkdtemp 而非共享临时目录、对 spy 调用 mockRestore、测试名描述场景。

限制:页面未提供该技能的安装命令、收费信息与支持平台;xfeed 专有模式需另见 PATTERNS.md。