enzyme react 组件测试
enzyme 简单实践
enzyme 主要用于 React 组件测试
文档链接:https://enzymejs.github.io/enzyme/
https://www.npmjs.com/package/enzyme
Jest 断言配置:https://github.com/enzymejs/enzyme-matchers/tree/master/packages/jest-enzyme
环境依赖配置:https://github.com/enzymejs/enzyme-matchers/tree/master/packages/jest-environment-enzyme
官网星星只有 800 颗,证明实际使用的人数不是很多(因为判断组件太严格)国内的组件和功能经常更改,这里不合适。代码两年没有更新了。
简单使用
这个只是测试组件,不包括断言库,可以选择自定义的断言库(React 通常匹配 Jest 断言库)
需要在测试入口配置
import Enzyme from 'enzyme';
import Adapter from 'enzyme-adapter-react-16';Enzyme.configure({ adapter: new Adapter() });
然后编写组件测试文件
import React from 'react';
import { shallow, mount, render } from 'enzyme';describe('<CollaboratorFormatter />', () => {it('basic text', () => {function Fixture() {return (<div><input id="checked" defaultChecked /><input id="not" defaultChecked={false} /></div>);}const wrapper = mount(<Fixture />);expect(wrapper.find('#checked')).toBeChecked();expect(wrapper.find('#not')).not.toBeChecked();});it('basic text', () => {function Fixture() {return (<div><input id="disabled" disabled /><input id="not"/></div>);}const wrapper = mount(<Fixture />);expect(wrapper.find('#disabled')).toBeDisabled();expect(wrapper.find('#not')).not.toBeDisabled();});it('basic text', () => {function EmptyRenderFixture() {return null;}function NonEmptyRenderFixture() {return (<div><EmptyRenderFixture /></div>);}const wrapper = mount(<EmptyRenderFixture />);expect(wrapper.find('EmptyRenderFixture')).toBeEmptyRender();const wrapper2 = mount(<NonEmptyRenderFixture />);expect(wrapper2.find('NonEmptyRenderFixture')).toBeEmptyRender();});});
渲染组件三个方式
shallow rendering:浅渲染有助于限制您将组件作为一个单元进行测试,并确保您的测试不会间接断言子组件的行为。
full DOM rendering:完整 DOM 渲染非常适用于您的组件可能与 DOM API 交互或需要测试封装在高阶组件中的组件的用例。
static rendered markup:使用 enzyme 的渲染功能从你的 React 树中生成 HTML,并分析生成的 HTML 结构。
适合不同的组件和交互
https://enzymejs.github.io/enzyme/docs/api/shallow.html
https://enzymejs.github.io/enzyme/docs/api/mount.html
https://enzymejs.github.io/enzyme/docs/api/render.html
enzyme react 组件测试相关推荐
- Jest + Enzyme React 组件测试实践
≈ 最近把组件测试接入到日常开发,提高了项目代码健壮性,可维护性.本人也从0到1收获了组件测试的经验. 本文总结一下最近两周 组件测试 相关的研究,包括: Jest + Enzyme 的基本介绍 Je ...
- 使用 Jest 和 Enzyme 测试 React 组件
type: FrontEnd title: Testing React components with Jest and Enzyme link: hackernoon.com/testing-rea ...
- 全网最细:Jest+Enzyme测试React组件(包含交互、DOM、样式测试)
介绍 Jest是目前前端工程化下单元测试火热的技术栈,而Enzyme的支持提供了Jest测试React业务.组件的能力,下面来介绍一下React组件测试的一些实际场景. 1. 测试依赖包 " ...
- JavaScript 测试系列实战(一):使用 Jest 和 Enzyme 测试 React 组件
你或许早已经知道"单元测试""端到端测试"这些名词,但从未真正付诸实践.在这一系列实战教程中,我们将手把手带你掌握 Jest.Enzyme.Cypress 等测 ...
- 怎样写一个具有异步交互的React组件的单元测试
关于前端React组件测试(jest,Enzyme),网上有大量的入门文章,可以看看,但如果你确实想了解前端自动化测试,个人更推荐看官方的文档和一些比较官方的测试案列,这里推荐两个: enzyme官方 ...
- react jest测试_如何设置Jest和Enzyme来测试React Native应用
react jest测试 by Sam Ollason 通过萨姆·奥拉森(Sam Ollason) This short article shares my experiences setting u ...
- react测试组件_如何测试React组件:完整指南
react测试组件 When I first started learning to test my apps back in the day, I would get very frustrated ...
- react测试组件_测试驱动的开发,功能和React组件
react测试组件 This article is part of my studies on how to build sustainable and consistent software. In ...
- react jest测试_如何使用React测试库和Jest开始测试React应用
react jest测试 Testing is often seen as a tedious process. It's extra code you have to write, and in s ...
最新文章
- 计算机系统安装和维护实验,2计算机系统安装维护实验报告.doc
- Web性能API——帮你分析Web前端性能
- :new与:old的用法
- 双系统windows10扩容ubuntu16.04
- Outh2协议有哪四种授权模式?
- Zend Framework学习(4)之前端控制器
- 百度深度学习工程师认证(已通过)
- 郭依婷—大学生的创业故事
- Linux 简单的聊天室
- Colibri 片段化学空间的兴起
- 马哈鱼数据血缘分析工具
- 一步步图解 Java G1 垃圾收集器
- 2021 区块链行业融资:资本涌入,触发区块链应用的无限可能| 2021 区块链年报|Footprint Analytics
- 【前端优化】第三方字体优化方案大全
- 一种改进的教与学优化算法
- SAP中库存确定组的应用简析
- 无法同时打开多个PPT,并排显示
- 蓝桥杯大学JAVA题型_蓝桥杯 2020年省赛真题 10月第二场 (Java 大学B组)
- mysql经典四表查询_sql 经典四表查询
- 3.创建项目并初始化业务数据(电商推荐系统)