前端自动化测试精讲- 掘金小册课程推荐/优惠

前端自动化测试精讲--掘金小册课程推荐/优惠

单元测试 + 端对端测试 + 持续集成方案,在项目中落地前端自动化测试
祯民
18讲 | 1375人已学习
优惠价¥29.9
官网优惠购买

版权声明

本站非掘金小册官网,与官方无任何关系。我们不提供课程下载或详细内容,仅作为课程分享和推荐平台。我们鼓励大家支持正版,尊重创作者的劳动成果,这样不仅能帮助创作者持续产出优质内容,也能让自己获得更好的学习体验。请通过官方渠道购买和学习课程,感谢您的理解与支持。

课程详情

课程介绍

作者介绍

祯民,字节跳动前端开发工程师,掘金小册《SSR实战:官网开发指南》作者,公众号「祯民讲前端」作者。曾负责 抖音前端技术团队官网字节官网中文版 的开发,现维护抖音直播内容安全相关的业务,同时也是第五届字节跳动青训营《Nextjs实战项目》、《前端自动化测试》课程讲师,对前端自动化测试有长期的深入调研和思考,目前在给互娱中后台业务落地单元测试。

小册介绍

对前端开发而言,自动化测试的重要性不言而喻。对核心组件覆盖自动化测试,可以有效地保证组件功能的单一,起到警醒工程师的作用,而不至于让不同的业务代码相互耦合;新同学可以通过单测快速 get 到这个组件打算做什么、有什么能力,不论是后续的维护还是重构都会更有底气。

对于通用的基础建设,相比手工测试,自动化测试的覆盖率更有说服力,并且可以有效规避某次修改引起的历史功能的异常,从而保证整体功能的稳定。

想必大家也知道自动化测试的重要性。其实,对于前端工程师而言,最大的痛点在于,不知道该怎么去写对应的测试用例。

相比 Golang 、 Java 等纯后端逻辑的自动化测试,前端的自动化测试大部分需要模拟浏览器环境,进行对应 DOM 和 事件效果的断言,测试的过程与常规逻辑的测试有所不同,很多同学想要针对组件进行测试也无从下手。

为此,我特意向 Semi 方向同学取经,一起探讨了如何有效地进行代码测试,并且向项目中进行推广。经过长达几个月的业务实践完善,综合未来趋势和单测稳定性等因素(具体会在2 | 技术选型:React Testing Library Or Enzyme? 中详细介绍),在 Semi 测试方案选型上做出了更适合同学们学习的改进,技术选型上使用 Jest + React Testing Library + Cypress + Storybook。

Jest 是一个 JavaScript 集大成的测试库,是我们单元测试的基础,而 React Testing Library 则提供了一些 React Component 的 Api ,来协助我们进行 React Dom 和事件相关的单测编写。通过单元测试,我们只能覆盖组件中的除滚动外的大部分场景,对于一些复杂场景覆盖就会比较困难,而 Cypress + Storybook 则可以通过 E2E 端对端的方式帮我们弥补这部分覆盖的缺陷。

我将基于这套技术,来展开小册的内容,最终设计出如下的小册大纲,希望可以借此帮助同学们写出高质量代码,提高整体编程素质。

小册模块可以分为四个方向,单元测试 、端对端测试、持续集成、测试理论。

  • 单元测试:我们将结合不同的案例来学习 Jest 的基础知识,并基于 React Testing Library 模拟浏览器 dom 和事件,对组件进行更加精准的自动化测试,这将是本小册最重点的学习内容,通过这部分的学习,大家将对大部分场景的自动化测试游刃有余。
  • 端对端测试:我们将学习从用户视角进行对应的端对端测试,在这个模块,我们将使用业内主流的端对端测试方案 Cypress 进行用户操作的模拟,完善单测无法覆盖的复杂场景,比如滚动、页面跳转等。
  • 持续集成:我们将站在项目视角,介绍如何将自动化测试覆盖到项目开发中,自动生成测试报告的内容。
  • 测试理论:我们将深度思考如何善用自动化测试,不让它成为 kpi 的工具和工程师的负担。工欲善其事,必先利其器,去思考理解自动化测试的意义,结合项目的实际场景,才能真正实现提高整体项目代码质量和风格的初衷。

看过我上一本小册的同学应该大致了解我的写作风格,同样地,为了大家可以更好的理解理论知识,我将针对具体的场景,从零手写教学代码, 结合代码讲解对应的知识,每一节课如果涉及代码,将会在课程的最顶部加上对应仓库的链接,大家可以 clone 下来结合学习加深印象。

你将获得

小册将会从四个维度带大家学习自动化测试:

  1. 使用 Jest + React Testing Library 来对浏览器 Dom 和事件进行模拟,掌握如何对组件场景进行前端的单元测试。
  2. 使用 Cypress 进行用户视角的端对端测试,补全单元测试难以模拟的场景。
  3. 对项目进行自动化测试覆盖率的覆盖,并进行测试报告的自动生成,将自动化测试融入代码开发中。
  4. 对自动化测试的边界和深度有更深入的思考,因地制宜,结合项目场景去使用自动化测试,避免秀技和沦为 kpi 的自动化测试工具人。

目标用户

这本小册适合有下面需求的同学来学习:

  • 不了解自动化测试,希望入门自动化测试的同学;
  • 有一定单测基础,但一直很困惑前端怎么进行环境模拟,不知道该怎么对 dom 和事件进行单测的同学;
  • 想系统了解怎么落地自动化测试落地到自己项目的同学;
  • 对自己的项目代码不满意,觉得耦合度过高,对代码质量有自我追求的同学。

这本小册不会有过复杂的逻辑,考虑到受众,希望有更多的同学可以参与这部分的学习,所以会尽可能地减少技术栈对小册学习的限制,对学习小册的同学有下面这一条要求:

  • 熟悉 React 最佳,使用但并不涉及过多 React 语法,所以有扎实前端 JS 功底即可,最重要的是有一颗对代码追求极致的心。

名人推荐

课程目录

  • 开篇词:如何写前端的自动化测试?
  • 技术选型:React Testing Library Or Enzyme?
  • Async 异步:异步方法如何进行单测?
  • DOM 查询(下):页面元素的参照物查询和优先级
  • Jest 断言:如何告诉程序什么是你的预期?
  • DOM 查询(上):页面元素的渲染和行为查询
  • Mock:怎么替代不需要关注的逻辑?
  • DOM 断言:页面元素的断言
  • User-event:怎么对 Dom 组件绑定事件进行模拟触发?
  • 深入原理:Jest 是怎么实现整个单元测试系统的?
  • FakeTimer:如何"快进"测试定时任务?
  • RenderHook:怎么测试 React hook?
  • Coverage:自动化测试覆盖率的统计
  • 快照测试:怎么保障组件 UI 的完整?
  • CI:项目自动化测试的持续集成方案
  • E2E:怎么覆盖滚动等复杂交互场景的测试?
  • 最后的思考:用例的边界和深度究竟在哪里?
  • 【加餐】Jest Mock 的极致用法 : 如何对 VSCode 插件进行单元测试?

作者介绍

前端开发工程师
一个啥都想试试的普通前端,掘金小册《SSR实战:官网开发指南》、《前端自动化测试精讲》作者

作者其他课程

SSR 实战:官网开发指南 - 掘金小册课程推荐/分享/优惠/折扣
SSR 实战:官网开发指南
原理+实战+优化+部署,全链路还原官网实际开发场景
祯民
2073人已学习
优惠价¥29.9
官网优惠购买

推荐

技术人求职指南 - 掘金小册课程推荐/分享/优惠/折扣
技术人求职指南
从准备求职到拿下心动 Offer,一本职场的全方位攻略
竹子爱熊猫
1315人已学习
优惠价¥49.9
官网优惠购买
基于 Kafka Connect 的异构数据流式同步平台实战 - 掘金小册课程推荐/分享/优惠/折扣
基于 Kafka Connect 的异构数据流式同步平台实战
从0到1,搭建工业级可用、支持轻量级ETL的异构数据双向流式同步低代码平台
甘罗
787人已学习
优惠价¥29.9
官网优惠购买
Flutter 实战:ChatGPT 客户端开发 - 掘金小册课程推荐/分享/优惠/折扣
Flutter 实战:ChatGPT 客户端开发
打造自己专属的 ChatGPT 客户端,迈向智能聊天新纪元!
码农小懒哥
968人已学习
优惠价¥39.9
官网优惠购买
基于 ThreeJS 框架的魔方微信小游戏实践 - 掘金小册课程推荐/分享/优惠/折扣
基于 ThreeJS 框架的魔方微信小游戏实践
从 0 到 1,一步步带你基于 ThreeJS 实现一个炫酷的魔方微信小游戏
NewbieYoung
1840人已学习
优惠价¥9.9
官网优惠购买
深入浅出微前端 - 掘金小册课程推荐/分享/优惠/折扣
深入浅出微前端
微前端的技术深度相对于 React 或者 Vue 框架要简单很多,但是它的广度却涵盖了前端知识的方方面面。本课程将会带你系统了解微前端的运行本质,有助于你在业务广度和技术深度上更进一层。
子弈
2761人已学习
优惠价¥59.9
官网优惠购买
Java 并发:JUC 入门与进阶 - 掘金小册课程推荐/分享/优惠/折扣
Java 并发:JUC 入门与进阶
JUC 助力多线程协同工作,成就高效并发
源码学徒
741人已学习
优惠价¥9.9
官网优惠购买