编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

typescript项目使用Jest测试框架(typescript commonjs)

wxchong 2024-09-02 03:57:40 开源技术 13 ℃ 0 评论

Jest是常用的javascript测试框架。

typescript给javascript添加类型检查,typescript项目通常需要transpile成javascript运行。

Jest运行于nodejs之上,对于typescript,需要转换才能正常运行。

Jest对于typescript的集成,可以使用Babel和ts-jest两种方案。

通过Babel使用typescript

新建一个nodejs项目


添加一段ts代码,sum.ts


添加测试程序,文件名里面含有.spec.,Jest会自动发现运行。


安装jest,babel,以及babel-typescript

npm install --save-dev jest @babel/core @babel/preset-env @babel/preset-typescript

修改package.json的scripts设置

这样你就能使用

npm test

来运行测试。

对于WebStorm也可以配置一个Jest的运行配置


当然,现在还没有对Babel进行typescript的配置,所以运行测试会失败。


添加babel配置babel.config.js



这时候就能看到test case能够正常运行了。


尝试添加一个失败的testcase


运行结果如下:


还有一个问题需要解决,就是sum.spec.ts的类型在WebStorm不能被识别,所以需要安装@types/jest库。

npm install --save-dev @types/jest

安装完成后,WebStorm里面就能正常识别那些test函数了。


通过ts-jest使用typescript

ts-jest使用typescript官方编译器来对typescript代码做转换。

首先新建jest-ts-jest项目,然后把刚才的sum.ts和sum.spec.ts复制过来。


接着安装依赖包,typescript, jest, @types/jest, ts-jest


npm install --save-dev typescript jest @types/jest ts-jest

运行tsc来添加一个默认的typescript配置文件

npx tsc --init

这个时候运行jest,还是会报错的,因为jest默认使用的babel,需要添加jest配置让他使用ts-jest。



命令行运行下面的命令生成一个jest配置文件

npx ts-jest config:init

可以看到新生成的配置文件jest.config.js


这时就能正常使用Jest运行单元测试了。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表