jest单元测试之更多

一、jest.fn

jest中的函数,具有跟踪性,可以测试是否被调用?调用几次?入参是否是期望值?

it("should jest fn", () => {const jestFn = jest.fn((val) => {return val;});const pramas = 1;const res = jestFn(pramas);expect(res).toBe(1);expect(jestFn).toHaveBeenCalled();expect(jestFn).toHaveBeenCalledTimes(1);expect(jestFn).toHaveBeenCalledWith(pramas);});

二、jest.mock

jest中的mock函数,当不会真的去发起函数调用,会使用定义的函数进行mock返回

it("should jest.mock", () => {jest.mock("../src/06mock", () => {return 5;});const mockFn = require("../src/06mock");expect(mockFn).toBe(5);});

三、jest.spyOn

jest.spyOn()方法同样创建一个mock函数,但是该mock函数不仅能够捕获函数的调用情况,还可以正常的执行被spy的函数。实际上,jest.spyOn()jest.fn()的语法糖,它创建了一个和被spy的函数具有相同内部代码的mock函数。

  it("should jest.spyOn", () => {const obj = require("../src/07spyOn");const spy = jest.spyOn(obj.default, "get");expect(spy()).toBe("牛");expect(spy).toHaveBeenCalled();});it("should jest.spyOn", () => {const obj = require("../src/07spyOn");const spy = jest.spyOn(obj.default, "get").mockReturnValue("好牛");expect(spy()).toBe("好牛");expect(spy).toHaveBeenCalled();});

四、更多

  1. 模拟延时

  2. 模拟class

  3. 模拟webpack,puppeteer等

未完待续...

代码参考github地址

1、jest单元测试-基础

2、jest单元测试-匹配器

3、jest单元测试-作用域

4、jest单元测试-更多

原创不易,自由转载,保留出处

jest单元测试-更多相关推荐

  1. React 16 Jest单元测试 之 Jest工具

    转载地址 React 16 Jest单元测试 之 Jest工具 项目初始化[这里使用之前的项目,节省时间] 项目初始化地址 https://github.com/durban89/webpack4-r ...

  2. React 16 + Jest单元测试 之 Mock Functions(Mock Names 和 Custom Matchers)

    转载 React 16 + Jest单元测试 之 Mock Functions(Mock Names 和 Custom Matchers) 项目初始化[这里使用之前的项目,节省时间] 项目初始化地址 ...

  3. 万字详文:彻底搞懂 Jest 单元测试框架

    点击上方 前端瓶子君,关注公众号 回复算法,加入前端编程面试算法每日一题群 什么是Jest 测试意味着什么 我怎么知道要测试什么 测试块,断言和匹配器 如何实现测试块 如何实现断言和匹配器 CLI 和 ...

  4. vue jest单元测试

    一.渲染: mount 和 shallowMount 1.1 mount 和 shallowMount vue-test-utils 提供了两种方式用于渲染,或者说 加载(mount) 一个组件 - ...

  5. Jest 单元测试 enzyme 报错信息:When using mount: Cannot read prop

    报错信息:报错信息:When using mount: Cannot read property 'child' of undefined on React 17 jest 单元测试需要 为酶倒入Re ...

  6. Jest 单元测试快速入门

    测试的类型 单元测试 集成测试 端到端测试(E2E) 测试 React 组件需要解决两个关键问题 怎么渲染待测试组件: 怎么测试渲染出来的组件: 浅层渲染 对于组件渲染,Airbnb 作为重度使用 R ...

  7. jest 单元测试模拟模块设置动态值

    在单元测试中需要对组件进行动态.极端.正常状态测试,如果组件里使用了api那么我们想对组件进行接口多种不同响应进行测试时候就需要对模块进行动态值设置. mockFun.mockImplementati ...

  8. react生态下jest单元测试

    一:jest框架搭建 1.在本地创建一个目录jest_practice 2.使用编辑器VScode打开目录,紧接着在终端中打开,执行npm init 3.执行以下命令: 注意:这里我们使用cnpm去安 ...

  9. 【Jest】Jest单元测试环境搭建

    文章目录 前言 1.项目环境搭建 初始化仓库 安装ts环境 安装jest环境 2.初始化项目文件夹 3.断点测试 前言 今天开始!!!学习vue源码,那么要学习源码前首先要了解Jest. https: ...

  10. Jest 单元测试术语解析:describe、it、expect、test

    jest测试代码片段 describe("number test", ()=>{it('1 is true', ()=>{expect(1).toBeTruthy()} ...

最新文章

  1. python每天定时9点执行_win10设置Python程序定时运行(设置计划任务)
  2. [PKUWC2018][loj2537]Minimax
  3. Sass mixin与extends、%placeholder、function
  4. zzuli 2177 Contest - 河南省多校连萌(四)(简单题)
  5. jq匹配偶数行_jquery怎么实现奇偶行不同背景颜色?
  6. matlab混叠现象与频率分辨率,连续时间信号频谱分析研究及MATLAB实现
  7. ubuntu12.04装机后设置
  8. (转)水晶报表横向打印BUG处理
  9. 在你的Android上执行Linux命令
  10. Linux无盘工作站
  11. Vivado2018【编辑器设置黑色背景】
  12. 关于NBIoT的知识
  13. 如何修改jadx的默认内存
  14. sqlite编辑器 linux,SQLite3 ARM平台交叉编译
  15. 计算两个时间相差多少时间--天、小时、分、秒
  16. UML中各图形或图标表示的意思
  17. 高精地图在无人驾驶中的应用
  18. 压力传感器/压力变送器分类
  19. 信息安全系统设计基础实验三—20135222胡御风20135215黄伟业
  20. JDBC的URL详解

热门文章

  1. php连接阿里云mysql
  2. php获取并删除数组的第一个和最后一个元素
  3. 【HDU-5246】超级赛亚ACMer(贪心)
  4. 原生js--类、原型、构造函数
  5. jquery 学习笔记(二)
  6. 努力奋斗,但不想像蚂蚁那样!
  7. ORB-SLAM2运行时遇到的问题
  8. ZOJ 3492 模拟循环链表线性查找
  9. HDU 1312 Red and Black(最简单也是最经典的搜索)
  10. Win10升级惹的祸,Oracle服务全没有了,怎么解决?