$ npm run test:all ==yarn test:all  # 执行所有测试

单元测试部分:jest 是一个 node 端运行的测试框架,使用了 jsdom 来模拟 DOM 环境,适合用于快速测试 React 组件的逻辑表现,需要真实浏览器可以参考 E2E 测试部分。

enzyme的三种渲染方式

1、shallow渲染叫浅渲染,仅仅对当前jsx结构内的顶级组件进行渲染,而不对这些组件的内部子组件进行渲染,因此,它的性能上最快的,大部分情况下,如果不深入组件内部测试,那么可以使用shallow渲染

2、mount则会进行完整渲染,而且完全依赖DOM API,就是说mount渲染的结果和浏览器渲染结果一样,结合jsdom这个工具,可以对上面提到的有内部子组件实现复杂交互功能的组件进行测试

3、render也会进行完整渲染,但不依赖DOM API,而是渲染成HTML结构,并利用cheerio实现html节点的选择,它相当于只调用了组件的render方法,得到jsx并转码为html,所以组件的生命周期方法内的逻辑都测试不到,所以render常常只用来测试一些数据(结构)一致性对比的场景。在这里还提到,shallow实际上也测试不到componentDidMount/componentDidUpdate这两个方法内的逻辑。

enzyme的三种渲染方式相关推荐

  1. node.js Next框架的三种渲染方式:客户端渲染、SSG、SSR

    前言 next是一款用JS开发的全栈框架,它是基于express框架基础上开发而成,可以用react写客户端,node.js写服务端.一份代码可在前后端同时运行,这在next中称之为同构! 一些nex ...

  2. 【QA答疑】VRay3.4 for SketchUp2017 三种渲染方式

    作者:活力网 今天给大家带来VRay3.4 for SketchUp中,交互式渲染.渐进式渲染.块式渲染三种渲染方式的应用,以及GPU加速的操作原理. 我们将以Q&A的形式为大家解答疑惑. Q ...

  3. Frontend 当前前端的三种渲染方式

    1. CSR (Client Side Rendering) Rendering an app in a browser, generally using the DOM. React(Angular ...

  4. 1.5 使用new创建动态结构和自动, 静态, 动态三种存储方式

    1. 有些时候在运行时创建数组由于在编译时创建数组(有些时候不是这样, 比如使用OpenGL绘图和GPU并行计算结合的时候, 需要将大量的数据传送到显存, 每次计算完又要传送回宿主机渲染, 但并不是要 ...

  5. Web框架之Django_07 进阶操作(MTV与MVC、多对多表三种创建方式、前后端传输数据编码格式contentType、ajax、自定义分页器)

    阅读目录 一.MVC与MTV 二.多对多表的创建 三.ajax,前后端传输编码格式contentType 四.批量插入数据与自定义分页器 摘要 MTV与MVC 多对多表三种创建方式 ajax ,前后端 ...

  6. python的等待代码是什么_Python selenium 三种等待方式详解

    1.目的背景 解决问题:下拉框定位不到.弹框定位不到-各种定位不到,其实大多数情况下就是两种问题:1 有frame,2 没有加等待. 原因:代码运行速度快,而浏览器加载渲染速度慢 解决办法:加等待,目 ...

  7. vue.js三种安装方式

    Vue.js(读音 /vjuː/, 类似于 view)是一个构建数据驱动的 web 界面的渐进式框架.Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件.它不仅易于上手 ...

  8. Kotlin实战练习——自定义圆形图片三种实现方式

    Kotlin实战练习--自定义圆形图片三种实现方式 前言 如今Kotlin越来越重要,本人也开始了Kotlin的学习.为了检测学习效果,加深学习印象,同时回顾一下以前的一些知识点,决定从写一个自定义圆 ...

  9. Python selenium —— 一定要会用selenium的等待,三种等待方式解

    转自  http://lib.csdn.net/article/48/50937?knId=1313 Python selenium -- 一定要会用selenium的等待,三种等待方式解 发现太多人 ...

最新文章

  1. python代码实现二叉树的镜像树
  2. Jupyter 快速入门——写python项目博客非常有用!!!
  3. 设计模式之---Factory
  4. Java中Boolean是什么?
  5. Java GC日志查看和分析
  6. 算法:动态规划算法的最佳实践-背包问题
  7. r语言实现sem_统计基础:【18】使用Excel和R语言来实现抽样
  8. iphone如何信任软件_苹果iPhone手机安装两个微信教程
  9. JAVA听力源码_剑桥雅思13Test4Section4听力原文与答案 The History of Coffee
  10. 比目鱼搜索不能用了_win10搜索功能失效解决办法
  11. 文东工作室开通微信公众号了!欢迎订阅!~
  12. Python 告诉你,情人节该送什么礼物?
  13. tinyxml2遍历所有节点_数据结构+算法(第15篇):“神之一着”与“翻云手”!后序遍历还能这么玩...
  14. Asp.net网站使用HttpHandler实现图片防盗链功能
  15. 全功能短视频平台去水印解析页面源码
  16. RS485接口上的PTC
  17. 直流电机调速仿真作业
  18. mysql 官网 update_UPDATE
  19. 火狐Error 403 No valid crumb was included in the request并且浏览器一直是loading中
  20. 前端:注册校验页面(html+css+javascript)

热门文章

  1. 对于大学过去浪费的时间的想法
  2. 递归方法|斐波那契数列
  3. stm32使用红黑树
  4. linux和unix区别
  5. 【第74篇】 FasterNet:CVPR2023年最新的网络,基于部分卷积PConv,性能远超MobileNet,MobileVit
  6. Docker入门——Docker是什么
  7. CF1734D Codeforces Round #822 (Div. 2) Slime Escape
  8. AJAX-----03远古时期的ajax
  9. VOS网络电话如何注册IMS
  10. Jetbrains Resharper Ultimate