默认发现逻辑
默认情况下,bun test 递归搜索项目目录中匹配特定模式的文件:
*.test.{js|jsx|ts|tsx}- 以.test.js、.test.jsx、.test.ts或.test.tsx结尾的文件*_test.{js|jsx|ts|tsx}- 以_test.js、_test.jsx、_test.ts或_test.tsx结尾的文件*.spec.{js|jsx|ts|tsx}- 以.spec.js、.spec.jsx、.spec.ts或.spec.tsx结尾的文件*_spec.{js|jsx|ts|tsx}- 以_spec.js、_spec.jsx、_spec.ts或_spec.tsx结尾的文件
排除项
默认情况下,Bun 测试会忽略:node_modules目录- 隐藏目录(以句点
.开头的目录) - 没有 JavaScript 类扩展名的文件(基于可用加载器)
自定义测试发现
位置参数作为筛选器
您可以通过向bun test 传递额外的位置参数来筛选要运行的测试文件:
terminal
utils 目录中的所有测试:
terminal
src/utils/string.test.ts 和 lib/utils/array_test.js 这样的文件。
指定确切的文件路径
要在测试运行器中运行特定文件,请确保路径以./ 或 / 开头,以便与筛选器名称区分开:
terminal
按测试名称筛选
要按名称而非文件路径筛选测试,请使用-t/--test-name-pattern 标志配合正则表达式模式:
terminal
更改根目录
默认情况下,Bun 从当前工作目录开始查找测试文件。您可以在bunfig.toml 中使用 root 选项更改此设置:
bunfig.toml
执行顺序
测试按以下顺序运行:- 测试文件按顺序执行(非并行)
- 在每个文件中,测试根据其定义顺序按顺序运行