使用 typescript 来写测试

使用 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 应用”。

相关推荐