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. thinkphp 高级模型

    高级模型提供了更多的查询功能和模型增强功能,利用了模型类的扩展机制实现.如果需要使用高级模型的下面这些功能,记得需要继承Think\Model\AdvModel类或者采用动态模型. namespace ...

  2. 深入浅出 Java Concurrency (30): 线程池 part 3 Executor 生命周期[转]

    我们知道线程是有多种执行状态的,同样管理线程的线程池也有多种状态.JVM会在所有线程(非后台daemon线程)全部终止后才退出,为了节省资源和有效释放资源关闭一个线程池就显得很重要.有时候无法正确的关 ...

  3. JEECMS文库工具安装

    下载地址: Swftools下载地址 http://www.swftools.org/swftools-0.9.2.tar.gz openoffice下载地址 http://www.openoffic ...

  4. 观察属性$watch

    <!DOCTYPE html> <html lang="zh"> <head> <title></title> < ...

  5. 《DSP using MATLAB》Problem 8.9

    代码: %% ------------------------------------------------------------------------ %% Output Info about ...

  6. Ubuntu 16.04 安装STS

    先将STS下载下来,网址是 https://spring.io/tools/sts/all ,然后将STS压缩包移动或者copy到想要放置的位置,比如, sudo cp spring-tool-sui ...

  7. osg::BlendFunc来设置透明度

    osg::BlendFunc介绍 混合是什么呢?混合就是把两种颜色混在一起.具体一点,就是把某一像素位置原来的颜色和将要画上去的颜色,通过某种方式混在一起,从而实现特殊的效果.      假设我们需要 ...

  8. HLog工作原理

  9. idea打包可执行jar

    (1)在项目上鼠标右键 --> Open Module Settings 或者点击工具栏上的 (2)Artifacts --> + --> JAR --> From modul ...

  10. pycharm每次新建项目都要重新安装一些第三方库的解决办法(转载防删)

    目前有三个解决办法,也是亲测有用的: 第一个方法:因为之前有通过pycharm的project interpreter里的+号添加过一些库,但添加的库只是指定的项目用的,如果想要用,就必须用之前的项目 ...