Typescript 使用 Jest 进行单元测试

ops/2024/10/22 5:01:58/

参考文章:快速开始·Jest

  1. 安装所需依赖:npm install --save-dev ts-node jest @types/jest ts-jest
    Jest 转换 TypeScript 代码需要ts-node
  2. 添加并配置 Jest 配置文件:jest.config.ts
typescript">// jest.config.ts
module.exports = {// TypeScript 代码预处理preset: 'ts-jest',testEnvironment: 'node',testMatch: ['**/__tests__/**/*.ts?(x)', '**/?(*.)+(spec|test).ts?(x)'],moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'],
};
  1. 修改tsconfig.json文件:
typescript">{"compilerOptions": {"target": "es6","module": "commonjs","outDir": "./dist","strict": true,"esModuleInterop": true,"types": ["jest"] // 添加这一行来指定 TypeScript 使用 Jest 的类型定义},"include": ["src/**/*", "test/**/*"] // 确保测试文件也被包含进来
}
  1. 编写测试
    源代码文件sum.ts
typescript">// sum.ts
export function sum(a: number, b: number): number {return a + b;
}

测试文件sum.test.ts

typescript">import { sum } from './sum';
import {describe, test, expect} from "@jest/globals";describe('sum function', () => {it('adds 1 + 2 to equal 3', () => {expect(sum(1, 2)).toBe(3);});it('adds negative numbers correctly', () => {expect(sum(-1, -1)).toBe(-2);});
});
  1. 运行测试,在命令行执行命令:npx jest

http://www.ppmy.cn/ops/103875.html

相关文章

VIVO 相机HDR拍照流程拆解

和你一起终身学习,这里是程序员Android 经典好文推荐,通过阅读本文,您将收获以下知识点: HDR 场景下发 3 帧拍照请求HDR 3帧拍照请求帧(478,479 480)HDR 3帧 result callback帧HDR 算法处理5.算法编解码处理HDR 拍照lo…

插入排序:直接插入排序、希尔排序详细说明

插入排序 基本思想:直接插入排序是⼀种简单的插入排序法,其基本思想是:把待排序的记录按其关键码值的大小逐个插入到⼀个已经排好序的有序序列中,直到所有的记录插入完为止,得到⼀个新的有序序列。 在玩扑克牌整理手中…

文本数据分析-(TF-IDF)(2)

文章目录 一、TF-IDF与jieba库介绍1.TF-IDF概述2.jieba库概述 二、TF-IDF与jieba库的结合1.结合2.提取步骤 三,代码实现1.导入必要的库读取文件:3.将文件路径和内容存储到DataFrame4.加载自定义词典和停用词5.分词并去除停用词 TF-IDF(Term F…

Git的简单使用

Git 是一个分布式版本控制系统,广泛用于软件开发。以下是一些常用的 Git 命令和使用方法: 安装 Git 你可以从 Git 官方网站 Git Downloads 下载并安装 Git。 基本配置 安装完成后,首先需要进行一些基本配置: git config --gl…

Datawhale X 李宏毅苹果书AI夏令营 学习笔记

学习日志 日期: 2024年8月30日 今日学习内容: 今天,我继续学习了深度学习中的优化算法,并且着重理解了如何利用动量法、RMSProp以及Adam等高级优化器来提高模型训练的效率和效果。 1. 动量法的理解: 我学习了动量…

如何使用Hive构建高校考试分析系统:大数据技术在教育领域的应用

✍✍计算机编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java实战 |…

5.3二叉树——二叉树链式结构实现

本篇博客梳理二叉树链式结构 明确:二叉树是递归定义的 递归的本质:当前问题子问题,返回条件是最小规模的子问题 一、二叉树的遍历 1.前序、中序与后序遍历 (1)前序:根->左子树->右子树…

【Python系列】SQLAlchemy 基本介绍

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…