TypeScript Jest 怎么配置

刚接触前端自动化测试的新手,总觉得“配置”是件像搭复杂积木的事——尤其是当项目要同时用TypeScript(TS)做类型校验、Jest做测试工具时,总怕漏个插件就报错。其实只要按“基础打底→TS适配→Jest兼容”的步骤来,就能把配置拆成几个好上手的小模块,像搭积木一样顺顺当当。

第一步:先搭好项目的“基础骨架”

不管用啥工具,得先有个能装这些插件的空架子。先确保你已经有了一个前端项目,要是还没,直接用npm或yarn建个简易项目就行,命令是npm init -y,这一步会自动生成package.json,是所有配置的“总说明书”。

TypeScript Jest 怎么配置

接下来得装核心依赖: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的配置,本质是给两个工具配“沟通翻译”和“规则手册”,不用怕记不住,按步骤装依赖、建两个配置文件,再跑个测试验证,就能搞定。要是中途报错,大概率是漏了某个适配器或配置项,对着步骤查一遍就行,不用慌。

上一篇 JavaScript 如何阻止事件冒泡