TypeScript Jest 怎么配置
刚接触前端自动化测试的新手,总觉得“配置”是件像搭复杂积木的事——尤其是当项目要同时用TypeScript(TS)做类型校验、Jest做测试工具时,总怕漏个插件就报错。其实只要按“基础打底→TS适配→Jest兼容”的步骤来,就能把配置拆成几个好上手的小模块,像搭积木一样顺顺当当。
第一步:先搭好项目的“基础骨架”
不管用啥工具,得先有个能装这些插件的空架子。先确保你已经有了一个前端项目,要是还没,直接用npm或yarn建个简易项目就行,命令是npm init -y,这一步会自动生成package.json,是所有配置的“总说明书”。

接下来得装核心依赖:TypeScript和Jest的基础包,还有让它们能互相配合的适配器。直接在终端敲命令安装,不用手动改文件,省掉不少麻烦:
npm install typescript jest ts-jest @types/jest --save-dev
这里的ts-jest是关键,它能让Jest直接识别TS代码,不用先转成JS再跑,就像给只会说中文的Jest配了个翻译,能直接读懂TS的类型代码。
第二步:给TypeScript写“身份证”(tsconfig.json)
TS需要一个配置文件告诉它“我要怎么干活”,也就是tsconfig.json,可以用TS自带的命令一键生成,敲npx tsc --init就行,生成后不用全改,只调几个核心项就够:
把target设成ES2020,让代码适配多数浏览器;
module设成commonjs,配合Jest的模块格式;
最重要的是加"jsx": "react-jsx"(如果是React项目)或者"jsx": "preserve"(普通项目),还有"esModuleInterop": true,避免TS和Jest的模块导入打架——就像给身份证填对照片、住址,不然工具会认不出你。
第三步:给Jest配“运行规则”(jest.config.js)
Jest的配置文件得明确告诉它“怎么处理TS代码”,新建个jest.config.js,内容不用写得太复杂,核心是指定用ts-jest处理TS文件,再加个简单的测试文件匹配规则:
`javascript
module.exports = {
// 告诉Jest用ts-jest解析TS文件
preset: 'ts-jest',
// 测试环境选node,适合多数后端或工具类测试
testEnvironment: 'node',
// 找所有.test.ts或.spec.ts结尾的测试文件,比如写个sum.test.ts,Jest就会自动找到它
testMatch: ['/tests//*.+(ts|tsx)', '**/?(*.)+(spec|test).+(ts|tsx)']
}
`
举个生活化的例子:如果把Jest比作快递员,testMatch就是给快递员标好“要送的包裹(测试文件)长啥样”,preset: 'ts-jest'就是给快递员配了能开TS包裹的工具,不会拆不开。
第四步:最后一步,跑个测试试试
配置完得验证下有没有错,先建个测试文件,比如在项目里建sum.test.ts,写个简单的测试:
`typescript
// 测试函数:两个数相加
const sum = (a: number, b: number) => a + b;
// 测试用例:sum(1,2)应该等于3
test('sum函数能正确相加两个数', () => {
expect(sum(1, 2)).toBe(3);
});
`
然后在package.json的scripts里加一行:"test": "jest",再在终端敲npm test,要是控制台输出PASS ./sum.test.ts,说明配置成功了。
其实TypeScript和Jest的配置,本质是给两个工具配“沟通翻译”和“规则手册”,不用怕记不住,按步骤装依赖、建两个配置文件,再跑个测试验证,就能搞定。要是中途报错,大概率是漏了某个适配器或配置项,对着步骤查一遍就行,不用慌。