React + Jest + Enzyme

vue项目中使用echarts 阅读详情

遇到的小坑

1.在引入测试的组件时,有时候我们的组件是以一个高阶的组件的形式导出的,而在我们测试的时候,我们只需要测试这个组件本身,不需要引入这个组件的封装体进行测试。
比如我们的组件A.js如下

	class  A  extends Component{
		//....
	}
	export default HOC(A);

此时我们需要在对A.js进行如下更改

	export class A extends Component{
		//...
	}
	export default HOC(A)

也就是加了一个export, 将A单独导出
同时在测试文件A.test.js中, 导入A

	import { A } from 'A.js';

如此我们在A.test.js中拿到的就是一个完整的A组件而不是HOC封装的一个高阶A组件

2.component中引入了echart, 在进行测试时会提示报错
在引入echart时,需要对echart的getInstanceByDom方法进行模拟

	beforeAll(()=>{
		spy = jest.spyOn(echarts, 'getInstanceByDom').mockImplementation(() => {
	        return {
	            hideLoading: jest.fn(),
	            setOption: jest.fn(),
	            showLoading: jest.fn(),
	            clear: jest.fn(),
	            resize: jest.fn(),
	            on: jest.fn(),
	        }
	    })
	})	
    afterAll(() => {
	    spy.mockRestore()
	})

3.在component中使用了ref, 导致测试函数中引用ref的地方报错
目前查阅的是,在enzyme中不支持ref功能,我自己尝试的一种替代解决方案是,手动进行ref的赋值
这里以echartRef为列

Component

	constructor(){
		super(props);
    	this.EChart = React.createRef();
    	...
	}

	render(){
		...
		<ReactEcharts ref={this.EChart} option={this.state.option} />
		...
	}

Test

	beforeAll(()=>{
		spy = jest.spyOn(echarts, 'getInstanceByDom').mockImplementation(() => {
	        return {
	            hideLoading: jest.fn(),
	            setOption: jest.fn(),
	            showLoading: jest.fn(),
	            clear: jest.fn(),
	            resize: jest.fn(),
	            on: jest.fn(),
	        }
	    })
	    com = shallow(<DashboardChart  defaultChooseChart="runtime" />, {disableLifecycleMethods: true})
    	com.instance().EChart.current = {
        	getEchartsInstance: ()=>echarts.getInstanceByDom()
    	}
	})

如此,在测试函数中使用this.EChart.current的方法时,就不会报错.

参考链接:
1.https://stackoverflow.com/questions/54570400/testing-the-react-createref-api-with-enzyme
2.https://stackoverflow.com/questions/52440180/react-enzyme-how-to-test-reference-function

React Jest + enzyme 配置 及 简单用例 这里简单的介绍一下 React 项目下 Jest + enzyme 配置 并运行一个简单的测试用例。 这里跳过React项目的创建,React项目创建可以看下 React项目创建 1.安装 jest enzyme相关依赖 npm i jest babel-jest --save-dev jest:主要code , babel-jest: 让jest可以支持ES6的语法 npm i enzyme enzyme-adapter-react-16 jest-enzyme --save-dev enzyme:主 阅读详情

相关推荐

Jest + Enzyme React 组件测试实践

≈ 最近把组件测试接入到日常开发,提高了项目代码健壮性,可维护性。本人也从0到1收获了组件测试的经验。 本文总结一下最近两周 组件测试 相关的研究,包括: Jest + Enzyme 的基本介绍 Jest + Enzyme 的实践 Jest 原理浅析 Jest 生态 & 未来 文章目录为什么选择Jest & Enzyme?1. Jest2. EnzymeJest + Enzym...

章鱼小丸子 1502

前端自动化测试框架Jest中的Mock

众所周知,在前面的代码中,我们在编写一个测试用例的时候用到了 test、expect、toBe 三个方法,在之前我们也介绍了 Jest 的基础使用、Jest 的简单配置、 Jest 中的匹配器(matchers)、 Jest 命令行工具的使用和异步代码的测试、 Jest 中的钩子函数及作用域,今天我们来说说Jest中的Mock。 函数的Mock 在我们的项目中,一个模块的方法内通常会去调用另外一个模块的方法。 在测试时,我们可能并不需要关心方法内部的执行过程和结果,只想知道它是否被正确调用即可,此时,就需要

主要分享测试的学习资源,帮助快速了解测试行业,帮助想转行、进阶、小白成长为高级测试工程师。 6351

基于 Jest + Enzyme 的 React 单元测试

前言如果你想学习 React 单元测试,那就从这篇文章开始吧。Star 项目,clone 到本地,根据教程走一遍,有任何问题欢迎 issue 讨论。 项目GitHub地址:react-test-demo 文章主要内容如下: * Jest 和 Enzyme 的基本介绍 * 测试环境搭建 * 测试脚本编写 * UI 组件测试 * Reducer 测试 * 运行并调试 * 参考

前端超人 1万+

vue項目加入单元测试模块,使用jest

用Jest测试单文件组件 1、安装 Jest 和 Vue Test Utils npm install --save-dev jest @vue/test-utils 2、安装和配置 vue-jest 预处理器 npm install --save-dev vue-jest 3、配置相关文件 (1)package.json // package.json { "scripts": { "test": "jest" } } (2)jsconfig.js { "compilerOpti

Twinkle_sone的博客 1341

react中使用Jest+Enzyme的单元测试(详细)

在react中还是在编写vue的项目的时候,不管是大型项目亦或是中小型项目,我觉得编写单元测试是一个很好的习惯,我在看了好多博客之后,发现,大多数博客都是在写相关配置等问题,而并没有详细传授用户如何使用单元测试,因此,我写这篇文章的目的也是让react用户学会使用单元测试。我就从头教下如何使用。 在使用create-react-app的命令下载了react脚手架后,用户可以将src目录下的App...

qq_36529459的博客 2498

精通 React 测试:Jest、Enzyme 和 React 测试库综合指南

请记住考虑不同类型的测试,例如单元测试、集成测试和快照测试,以涵盖代码库的各个方面。定期运行测试、维护代码覆盖率并将测试集成到您的 CI 管道中,以尽早发现问题并确保 React 应用程序的质量。通过利用 Jest 和 Enzyme 等测试框架,您可以编写全面的测试来验证组件的行为并确保您的应用程序按预期工作。Enzyme 是一个用于 React 的 JavaScript 测试实用程序,它提供了一组辅助函数来测试 React 组件的行为和状态。您可以编写不同类型的测试,包括单元测试、集成测试和快照测试。

我的博客,不一样的自我表达 212

上车,手把手在实际项目中做前端单元测试

在实际项目中做前端单元测试

aiyang1214878408的博客 1266

使用Jest和Enzyme深入测试React组件

本文还有配套的精品资源,点击获取 简介:为了确保React组件的功能性和行为正确性, giftgiver 项目采用Jest和Enzyme工具进行单元测试。Jest是一个全面且易用的JavaScript测试框架,支持多种测试功能,而Enzyme则提供了丰富的API来对React组件进行不同方式的渲染和测试。此外,还涉及到了Redux和Redux-Thunk在状态...

weixin_30951515的博客 1295

使用Jest进行React单元测试(建议收藏)小白必看!

React单元测试方案 前置知识 为什么要进行测试 测试可以确保得到预期的结果 作为现有代码行为的描述 促使开发者写可测试的代码,一般可测试的代码可读性也会高一点 如果依赖的组件有修改,受影响的组件能在测试中发现错误 测试类型 单元测试:指的是以原件的单元为单位,对软件进行测试。单元可以是一个函数,也可以是一个模块或一个组件,基本特征就是只要输入不变,必定返回同样的输出。一个软件越容易些单元测试,就表明它的模块化结构越好,给模块之间的耦合越弱。React的组件化和函数式编程,天生适合进行单元测

程序员小濠 4798

c语言播放背景音乐

相信很多童鞋都在为大学课设而伤透头脑,而背景音乐的使用无疑会成为其中的一个亮点(总比没有好吧(╯▽╰)),故接下来我将介绍一下如何用C播放音乐。我用的编译器是CodeBlocks16.01接下来新建一个C文件建立完后是这样滴然后添加其中mciSendString()函数是由&lt;mmsystem.h&gt;库提供的供播放音乐(MP3)的函数第一个参数是歌曲所在的绝对路径 打开音乐所在位置 复制这...

qq_41443987的博客 3万+

5分钟搞定Unity+Visual Studio开发环境配置(含C#游戏开发工作负载)

本文提供了一份详细的Unity与Visual Studio开发环境配置指南,帮助开发者在5分钟内完成C#游戏开发工作负载的设置。从Unity Hub安装到Visual Studio关键组件选择,再到常见问题排查,全面覆盖环境搭建的各个环节,显著提升游戏开发效率。

weixin_29014237的博客 248

ReactJS 101测试策略:使用Jest和Enzyme进行React组件测试的5个最佳实践

在React应用开发中,**React组件测试**是确保代码质量和应用稳定性的关键环节。ReactJS 101项目为开发者提供了全面的React学习资源,其中包含了丰富的**Jest测试**和**Enzyme测试**实践指南。本文将分享5个实用的React测试最佳实践,帮助您构建更可靠的React应用。😊 ## 🚀 为什么React测试如此重要? 在React生态系统中,**组件测试**不

gitblog_00694的博客 536

别再折腾CUDA了!Win11上VSCode一键配置PyTorch GPU环境(附Anaconda虚拟环境避坑指南)

本文提供Win11系统下使用VSCode和Anaconda一键配置PyTorch GPU环境的详细指南,解决CUDA版本冲突等常见问题。通过conda的原子化依赖解决方案,安装时间从2小时缩短至15分钟,适合深度学习初学者快速搭建开发环境。

weixin_33101399的博客 247

react jest测试_如何设置Jest和Enzyme来测试React Native应用

react jest测试by Sam Ollason 通过萨姆·奥拉森(Sam Ollason) This short article shares my experiences setting up my testing environment to unit test React Native components with Jest and Enzyme. 这篇简短的文章分享了我设置测试环...

cumi6497的博客 442

泛微OAe9实战:如何从零搭建一个车辆预约系统(附完整代码)

本文详细介绍了如何利用泛微OA e9的建模引擎,从零开始构建一个企业级车辆预约管理系统。文章深入解析了核心数据模型设计、前后端双重预约冲突校验机制,并重点演示了如何配置自定义资源看板以实现车辆使用状态的可视化监控。该系统设计思路通用,可扩展至会议室、设备等各类共享资源的管理。

weixin_28363123的博客 142

基于CODESYS与EtherCAT的步进电机单轴控制实践

本文详细介绍了基于CODESYS平台与EtherCAT总线技术实现步进电机单轴控制的完整实践流程。从硬件选型、软件工程创建、EtherCAT主从站配置,到运动控制功能块编程与在线调试,手把手指导读者完成从零到一的搭建,并提供了常见问题的排坑指南,帮助自动化开发者快速掌握这一高效、灵活且成本可控的工业运动控制解决方案。

hh234的博客 491

React单元测试:Jest+Enzyme

本文介绍基于Jest+Enzyme的React单元测试编写方法,包括对组件、action、reducer和其他工具类和功能类js的测试。主要介绍对组件、action、reducer代码的单元测试,还有相关三方件的使用与配置方法。

柯南的博客 2218

AWD线下攻防赛总结

在本地组策略编辑器里面,依次展开计算机配置—>管理模板—>Windows组件—>远程桌面服务—>远程桌面会话主机—>连接—>限制连接的数量。8.Web目录环境查找相关可疑文件:jpg/png/rar,属性、解压。进程线程:netstat / ps -aux/netstat -apt。4.查看/etc/init.d/rc.local中启动服务有无异常。1.不使用默认口令,修改成复杂的,并确保和web环境连接。5.使用脚本开启进程监控、目录监控、流量监控。文件操作监控.exe/御剑文件监控.exe。

XuJL89的博客 630

react: typescript jest && enzyme

Install Jest 1、install jest dependencies jest @types/jest ts-jest -D 2、jest.config.js module.exports = { "roots": [ "<rootDir>/src" ], "transform": { "^.+\\.tsx?$":...

weixin_30609287的博客 306

关于 Nginx 监听地址 0.0.0.0 的详细解释

0.0.0.0在Nginx配置中表示监听服务器所有网络接口(包括公网IP、内网IP和本地回环地址),这是默认配置。当使用listen 80;时,Nginx会接受通过服务器任何IP地址的80端口访问请求。相比只监听特定IP,这种配置更通用,但也意味着服务会对外网开放,需注意安全风险。可通过netstat命令验证监听状态,显示0.0.0.0:80即表示正确配置。

weixin_43674738的博客 1566

SAP ABAP Cloud 发展简史

其中用于云开发的 ABAP,官方术语是 「ABAP in the Cloud」,本文后续叙述方便起见,简称为 「ABAP Cloud」. 它涵盖了标准 ABAP 语言范围的一个子集,只能访问受限的 API,用于构建 SAP BTP ABAP 环境以及 SAP S/4HANA Cloud ABAP 环境上的云解决方案。SAP ABAP 平台是用于 SAP ECC、SAP S/4HANA 和 SAP BTP 等产品的技术平台,也是 ABAP 应用程序的开发和运行环境。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1393

React Redux前端测试环境搭建:Jest+Enzyme零坑配置指南

前端单元测试是保障React与Redux应用稳定性的基础工程能力,其核心在于隔离执行、状态断言与副作用可控。Jest提供模块Mock、快照比对和异步测试能力,Enzyme(尤其适配React 16的稳定版本)支持组件层级的shallow渲染与props/state精准验证,二者组合构成中大型项目的安全防线。在企业招聘高频搜索词如'react面试题''redux toolkit'背后,真实考察的是开发者对测试闭环的落地能力——能否快速验证reducer逻辑变更、connect映射正确性及action触发可靠性

weixin_33770878的博客 381

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

React Photo Gallery测试策略:Jest与Enzyme完整测试指南

React Photo Gallery作为一款高效的图片展示组件,其稳定性与可靠性直接影响用户体验。本文将深入解析该项目采用的Jest与Enzyme测试策略,帮助开发者掌握组件测试的核心方法与最佳实践,确保图片画廊功能在各种场景下的完美呈现。 ## 🧪 测试框架选型:Jest与Enzyme的黄金组合 React Photo Gallery选择Jest作为主要测试运行器,搭配Enzyme进行组

gitblog_00070的博客 923

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

react+jest+enzyme配置及编写前端单元测试UT

原文合集地址如下,有需要的朋友可以关注。

xxx 2119

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

React 16 之 测试单元(Jest+React+Enzyme)

安装 enzyme 相关npm install enzyme enzyme-adapter-react-16 --save-dev npm install jest babel-jest babel-preset-env react-test-renderer --save-dev npm install enzyme-to-json修改package.json"test": "jest --...

zhangda89的专栏 2012

Jest & React & Enzyme

Jest & React & Enzyme auto units testing https://reactjs.org/docs/test-utils.html https://github.com/airbnb/enzyme refs https://www.cnblogs.com/vvjiang/p/8599980.html https://www.cnblog...

weixin_30376083的博客 116
上一篇: chrome安装插件提示image decode failed
下一篇: setMonth的小坑
izwell
博客等级 码龄14年 16粉丝 88原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值