环境搭建
// 预安装 ts jest(依赖ts)npm i -g jest typescript ts-jest// 安装ts-jest 和 类型npm i -D jest ts-jest @types/jest// 初始化ts-jest配置 生成jest.config.jsts-jest config:init// 修改package.json"scripts": {"test": "jest","test:watch": "jest --watch","test:cov": "jest --coverage",},// 指令运行npm test 测试用例情况npm run testc 覆盖率情况// 可以安装VSCode插件 jest runner 点击Run可以快捷调试单文件// tsconfig.json"esModuleInterop": true,
jest使用
module.exports = {"preset": "ts-jest","moduleFileExtensions": ["js","json","ts"],"rootDir": "src","testRegex": ".*\\.spec\\.ts$","transform": {"^.+\\.ts$": "ts-jest"},"coverageDirectory": "../coverage","testEnvironment": "node"};
# test/coverage
示例
export function sum(a: number, b: number) {if (a > 0) {return a + b;} else {return 100;}}
import { sum } from './filter-func';test('adds 1 + 2 to equal 3', () => {expect(sum(1, 2)).toBe(3);});

覆盖率表示测试的代码覆盖了测试的文件中的方法数,分支数(条件等),所有代码行是否运行等
