使用 typescript 来写测试
介绍
编写测试的重要性我就不说了
使用 ts 的好处我也不说了
那么接下来就让我们使用 ts 来更好的编写测试吧
安装依赖
yarn add -D typescript ts-jest jest @types/jest
Config File
运行yarn ts-jest config:init
, ts-jest 会帮我们生成一个 jest 配置文件jest.config.js
module.exports = {
preset: 'ts-jest',
testEnvironment: 'node'
}
tsconfig.jest.json
在根目录下新增tsconfig.json
,如果项目原来就是 ts 写的话,肯定会有这个文件,没有的话,需要新增一个。但是,有时候我们测试环境跟开发环境的 ts 配置是有区别的,所以我们可以新增一个tsconfig.jest.json
来区分不同环境的 ts 配置
{
"extends": "./tsconfig",
"compilerOptions": {
"jsx": "react"
}
}
这样的话,之前的jest.confg.js
就需要修改了,因为默认读的是tsconfig.json
module.exports = {
globals: {
'ts-jest': {
tsConfigFile: 'tsconfig.jest.json'
}
},
testEnvironment: 'node'
}
其他配置参考ts-jest
新增测试
现在可以开始使用 ts 愉快的编写测试了,在根目录下新增test/a.test.ts
文件
参考文档jest
import sum from './sum'
test('adds 1 + 2 to equal 3', () => {
expect(sum(1, 2)).toBe(3)
})
运行测试
yarn jest
yarn jest --coverage
总结
使用 ts 编写测试的好处,实际上就是 ts 的好处。比如, 有完善的 api 提示;避免低级错误;等等。
这就完了?对,这就完了。现在已经可以简单的写一些单元测试了,当然我们的应用不可能这么简单就能测得了的,肯定会有很多乱七八糟的依赖,所以,下一篇讲 “使用 ts、 enzyme 测试 react-redux 应用”。