Skip to content

Jest

@swc/jest

@swc/jestJest 的代码转换器 Transformer,作用是在 Jest 执行测试之前,使用 SWC 将项目里的:

  • TypeScript
  • JSX / TSX
  • 较新的 ECMAScript 语法
  • ESM 模块语法

转换成 Jest 当前运行环境能够执行的 JavaScript。

ts-jest 的区别

对比项@swc/jestts-jest
底层转换器SWC,Rust 编写TypeScript 编译器
转换速度通常更快通常较慢
TypeScript 类型检查不负责可以集成类型检查
tsconfig.json 兼容性部分配置需要转换为 SWC 配置与 TypeScript 配置结合更紧
Babel 插件支持不支持 Babel 插件不以 Babel 插件为核心
适合场景注重测试启动和转换速度强依赖 TypeScript 编译器行为

babel-jest 的区别

对比项@swc/jestbabel-jest
底层SWCBabel
实现语言Rust 为主JavaScript
转换速度通常更快通常较慢
Babel 插件生态不兼容完整支持
TypeScript删除类型通过 Babel preset 删除类型
自定义转换能力SWC 配置及插件Babel 插件非常丰富

Powered by VitePress