Jest是Facebook推出的一款单元测试工具。

安装

npm install --save-dev jest ts-jest @types/jest

在package.json中添加脚本:

“test”: "jest"

生成Jest配置文件(生成jest.config.js)

npx ts-jest config:init

使用

先简单编写一个ts文件

function adds(a: number, b: number) {
return a+b;
}
function sub(a: number, b: number) {
return a-b;
}
export { adds, sub };

编写测试用例:

import {adds,sub} from './math'

test('adds: 1 + 1 = 2',()=>{
expect(adds(1,1)).toBe(2);
});
test("sub: 1 - 2 = -1",()=>{
expect(sub(1,2)).toBe(-1);
});

执行测试脚本:

npm run test

使用ts-jest的好处是,能够在测试用例中进行类型检查。

使用Jest进行单元测试的更多相关文章

  1. jest & puppeteer & 单元测试 & 集成测试

    jest & puppeteer 单元测试 & 集成测试 单元测试,就是测试一个函数或某个代码片段,通过模拟输入确保输出符合预期 集成测试,测的是一个功能模块,比如用户注册功能,集成测 ...

  2. vue+jest+vue-test-utils 单元测试

           jest是Facebook的一套开源的JavaScript测试框架,它集成了快照测试.断言.mock以及覆盖率报告等功能,很全面而且基本不需要太多的配置便可使用Vue-Test-Util ...

  3. Jest 前端单元测试工具

    Jest和enzyme 前端单元测试工具 什么是Jest? Jest是一个令人愉悦的JavaScript测试框架,其重点是简单性. 它适用于使用以下项目的项目:Babel,TypeScript,Nod ...

  4. Jest 单元测试入门

    今天,我们要讲的是 Jest 单元测试的入门知识. 为何要进行单元测试? 在学习 Jest 之前,我们需要回答一个问题:为何要进行单元测试?编写单元测试可以给你带来很多好处: 将测试自动化,无需每次都 ...

  5. vue2项目,踩坑Jest单元测试

    目前的项目已经维护了挺久,由于客户要求,我们要为项目加上单元测试,挑选一番后选择了Jest(配置简便,开箱即用),下面记录了此次为项目添加Jest作为单元测试的经历. 安装Jest 1. 在项目目录下 ...

  6. Jest did not exit one second after the test run has completed.

    使用 Jest 进行单元测试时出现如下问题: Jest did not exit one second after the test run has completed. This usually m ...

  7. React Native移动框架功能研究

    React Native移动框架功能研究 此篇只研究React Native框架的功能. 一.React Natvie是什么 React Native是使用React(或者说JS)来开发原生APP的框 ...

  8. JavaScript 版数据结构与算法(一)栈

    今天,我们要讲的是数据结构与算法中的栈. 栈的简介 栈是什么?栈是一个后进先出(LIFO)的数据结构.栈有啥作用?栈可以模拟算法或生活中的一些后进先出的场景,比如: 十进制转二进制,你需要将余数倒序输 ...

  9. kibana研究

    概述 Kibana是一个针对Elasticsearch的开源分析及可视化平台,用来搜索.查看交互存储在Elasticsearch索引中的数据.它操作简单,基于浏览器的用户界面可以快速创建仪表板(das ...

随机推荐

  1. vertx使用过程中浏览器端Cookie重复问题

    [问题描述] 背景: 使用vertx提供的服务,使用Dispatcher做路由转发,内部通过routingcontext做请求传递及响应. 现象: 在谷歌浏览器的Network中,看到Cookie中有 ...

  2. AFO之后……

    先上游记:@ 据说有一种东西叫狗屁不通文章生成器:@

  3. 89 k数和

    原题网址:https://www.lintcode.com/problem/k-sum/description 描述 给定n个不同的正整数,整数k(k < = n)以及一个目标数字. 在这n个数 ...

  4. day 45 前端CSS

      前端CSS   CSS介绍 CSS(Cascading Style Sheet,层叠样式表)定义如何显示HTML元素,给HTML设置样式,让它更加美观. 当浏览器读到一个样式表,它就会按照这个样式 ...

  5. spring容器创建bean对象的方式

    xml文件中有bean的配置,而且这个bean所对应的java类中存在一个无参构造器 那么这个时候spring容器就可以使用反射调用无参构造器来创建实例了(常规的方式) 通过工厂类获得实例(工厂类实现 ...

  6. ES6之主要知识点(五)函数

    函数参数的默认值 作用域 ; function f(x, y = x) { console.log(y); } f() let x = ; function f(y = x) { let x = ; ...

  7. java开发系列-Http协议

    概述 HTTP(HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议.这种协议用来规定通信数据的格式. HTTP请求 浏览器往服务器发送数据称之为请求.HTTP ...

  8. Top- Linux必学的60个命令

    1.作用 top命令用来显示执行中的程序进程,使用权限是所有用户. 2.格式 top [-] [d delay] [q] [c] [S] [s] [i] [n] 3.主要参数 d:指定更新的间隔,以秒 ...

  9. sql 2000 or sql2005 数据库日志删除

    数据库日志清理(sql 2000 or sql2005)DUMP TRANSACTION crm WITH NO_LOGBACKUP LOG crm WITH NO_LOGDBCC SHRINKDAT ...

  10. extern “C”的用法

    引言 由于不同的代码互相调用起来很容易出错,甚至同一种代码但由不同的编译器编译,为实现C++代码调用其他C语言代码,会在C语言代码的部分加上extern "C",表明这段代码需要按 ...