首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

JavaScript 测试系列实战(三):使用 Mock 模拟模块并处理组件交互

打开 TodoList 测试文件,首先在最前面通过 jest.mock 配置 axios 模块 Mock(确保要在 import TodoList 之前),在 Mock 之后,无论在测试还是组件中使用都将是...首先通过 jest.spyOn,我们便可以监听一个函数使用情况,然后使用配套 toBeCalled Matcher 来判断该函数是否被调用。整体代码十分简洁,同时也保持了很好可读性。...组件交互 在上面迭代 TodoList 中,我们使用axios.post。...postSpy.mock.results 是 post 函数发送结果数组,通过使用它,我们可以得到返回 promise,我们可以从 value 属性中取到这个 promise。...这就是我们使用 react-hooks-testing-library[4] 原因,我们将在下一篇教程里讲解如何更加舒适测试 React Hooks 方法,敬请期待!

4.8K20
您找到你想要的搜索结果了吗?
是的
没有找到

使用React Query做为axios请求库上层封装

前言 在项目中,通常都需要跟服务端进行异步数据交互,基本都是用到axios这个库来做请求,嗯,毕竟拥有80k star,明星项目 接下来,我们来回顾下axios在项目中使用 以查询用户信息为例,我们会这样封装...hooks再封装下这个请求,包括loading等中间态封装,处理优雅一点 import React, {useState,useEffect} from 'react'; import axios...另外,现在前端项目特别是单页面应用,会使用Flux、Redux、Mobox等状态管理库,会把组件间共享数据都存放在状态管理库中,这些可以分为两类,一类是用户交互中间状态,比如isLoading,isClose...接下来,就是引出今天主角 React Query React Query React Query 通常被描述为 React 缺少数据获取(data-fetching)库,但是从更广泛角度来看...,它使 React 程序中获取,缓存,同步和更新服务器状态变得轻而易举。

2.1K30

JavaScript 测试系列实战(一):使用 Jest 和 Enzyme 测试 React 组件

本篇教程是 JavaScript 测试系列实战 第一篇教程,首先介绍了测试类型,然后主要通过一个 React 项目教会你如何使用 Jest 编写第一个测试,然后使用 Enzyme 对 React 组件进行浅层渲染...因此这里建议直接使用 npx jest 执行测试。 编写第一组测试 每个测试文件通常有多个测试用例。Jest 允许我们通过 describe 函数对测试用例进行分组,它创建了一个可以组合多个测试块。...所幸是,Airbnb 作为重度使用 React 先驱,早就提出了专门解决方案:Enzyme。...Jest 测试文件中使用它。...配置 jest-enzyme 你应该还记得,在刚才测试代码中,我们还是使用Jest 自带 Matcher(toEqual)。

2.9K10

那些年错过React组件单元测试(上)

然后我翻阅了大量文档,发现基于dva单元测试文档比较少,因此在有了一番实践之后,我梳理了几篇文章,希望对于想使用 Jest 进行 React + Dva + Antd 单元测试你能有所帮助。...技术方案 针对项目本身使用React + Dva + Antd技术栈,单元测试我们用Jest + Enzyme结合方式。...Jest 关于Jest,我们参考一下其Jest 官网[1],它是Facebook开源一个前端测试框架,主要用于ReactReact Native单元测试,已被集成在create-react-app...在开源社区有超高人气,同时也获得了React官方推荐。 ? Jest 本篇文章我们着重来介绍一下Jest,也是我们整个React单元测试根基。 环境搭建 安装 安装Jest、Enzyme。...jest.mock('axios'),我们让jest去对axios做模拟,这样就不会去请求真正数据了。

4.9K20

Jest + React Testing Library 单测总结

目前腾讯课堂基于 Tdesign 开发素材库组件单测,就是使用 Jest + React Testing Library 来完成。...2、Jest 使用 Jest 安装这里就不赘述了,如果使用 create-react-app 来创建项目,JestReact Testing Library(RTL) 都已经默认安装了。...如果在使用 Jest runner 时候出现 Node.js 相关报错,可以查看一下当前 Node.js 使用版本,切换到 14.17.0 版本即可。...扩展阅读材料 Jest 学习指南 那些年错过 React 组件单元测试 使用 Jest 测试 JavaScript (Mock 篇) 3、React Testing Library testing...3.1 render & debug 在测试用例中渲染内容,可以使用 RTL 库中 render,render 函数可以为我们在测试用例中渲染 React 组件。

4.5K20

JestReact Testing Library:前端测试最佳实践

JestReact Testing Library (RTL) 是前端开发中用于测试 React 应用首选工具。...Jest 是一个功能丰富JavaScript测试框架,而React Testing Library 是一种提倡以用户角度编写测试库,它鼓励测试组件行为而不是内部实现细节。...安装和配置首先,确保你已经安装了react, react-dom, jest, @testing-library/react, 和 @testing-library/jest-dom。...使用jest.spyOn代替jest.fn:对于性能敏感函数,使用jest.spyOn代替jest.fn,因为它更快。...选择性运行测试使用--findRelatedTests选项只运行与更改相关测试,以加快测试速度:npx jest --findRelatedTests使用快照测试对于不经常更改组件,使用快照测试可以节省时间

8500

前端接入单元测试(Node+React)

Augular 默认测试框架就是 Karma + Jasmine,Egg默认测试框架是Mocha,而 React 默认测试框架是 Jest。...node测试框架因为egg内置Mocha,因此不额外引入jestJest 被各种 React 应用推荐和使用。...Create React App 新建项目就会默认配置 Jest,我们基本不用做太多改造,就可以直接使用。...组件,最开始使用Enzyme,后面从React脚手架创建项目自带React Testing Library(RTL),官方推荐使用RTLimport React from "react";import...history 优点: 可以作为任务定时去执行,可以和蓝盾配合使用 缺点:需要添加项目和任务,执行时间长,node没有对应mocha库,需要额外安装jest库TestOne DWT 前端自动化测试 http

3.3K30
领券