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

本文介绍了ts-jest和babel-jest作为typescript项目的单元测试工具,详细阐述了它们的安装配置过程,以及在编写测试用例时的差异,强调了ts-jest能检查类型错误而babel-jest需要额外辅助。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述

什么是 Jest

JestFacebook 的一套开源的 JavaScript 测试框架, 它自动集成了断言、JSDom、覆盖率报告等开发者所需要的所有测试工具,是一款几乎零配置的测试框架。

TypeScript 的工具体系基本分为:Babel系非Babel系。测试工具也不例外,分为 ts-jestbabel-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 -D
    
    插播一下:安装 babel/jest,可能会遇到这个报错
    The authenticity of host 'github.com (192.30.255.112)' can't be established
    
    这是少了密钥文件,需要 将密钥添加到 SSH 代理

配置脚本

// package.json
{
  ...
  "scripts": {
    "test": "jest"
  }
}
  • ts-jest
    初始化 jest.config.js
    npx 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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值