TS 单测工具!ts-jest 和 babel-jest

什么是 Jest ?
Jest 是 Facebook 的一套开源的 JavaScript 测试框架, 它自动集成了断言、JSDom、覆盖率报告等开发者所需要的所有测试工具,是一款几乎零配置的测试框架。
TypeScript 的工具体系基本分为:Babel系 和 非Babel系。测试工具也不例外,分为 ts-jest 和 babel-jest。
ts-jest & babel-jest
安装依赖
- ts-jest
npm i jest ts-jest @types/jest -D - ts-babel
在
babel环境中
插播一下:安装npm i jest babel-jest @babel/core @babel/preset-env @types/jest -Dbabel-jest,可能会遇到这个报错
这是少了密钥文件,需要 将密钥添加到 SSH 代理。The authenticity of host 'github.com (192.30.255.112)' can't be established
配置脚本
// package.json
{
...
"scripts": {
"test": "jest"
}
}
ts-jest初始化jest.config.jsnpx ts-jest config:init
编写测试用例
// src/math.ts
function add(a: number, b: number): number {
return a + b;
}
function sub(a: number, b: number): number {
return a - b;
}
module.exports = { add, sub };
// test/math.test.ts
const math = require("../src/math");
test("add 1+1=2", () => {
expect(math.add(1, 2)).toBe(3);
});
test("sub 1-2=-1", () => {
expect(math.sub(1, 2)).toBe(-1);
});
两者差异
ts-jest 在测试文件中,可以检查类型错误,而 babel-jest 不可以,需要 tsc 辅助(新开一个 terminal)。
TypeScript 工程系列
转载自:https://juejin.cn/post/6955392566992830477