前端自动化测试到底解决什么问题

这门课针对的是前端开发中最让人头疼的“改代码牵连一片”的场景。很多团队的业务代码越堆越乱,每次改动都怕引发隐藏 bug,只能靠人工点一遍页面,既费时间又不可靠。课程把单元测试、端对端测试和持续集成串起来,核心解决的是“怎么在现有项目里真正落地测试,而不是只跑个 demo 看个绿勾”。它不教你怎么写 React 组件,而是教你怎么用 Jest、React Testing Library 去验证组件的渲染和行为,用 User-event 模拟真实操作,用 Mock 隔离掉不需要关注的接口和逻辑,最后用 E2E 覆盖滚动这类复杂交互。本质上,它是帮你给项目兜底,让重构和发版有底气。

什么基础能学 建议先看哪几块

资料适合已经能独立写 React 业务组件、熟悉基本 DOM 操作的上班族或转行者。如果你连 useState 都没搞明白,直接看会卡在异步测试和原理部分。建议按这个顺序切入:先把 Jest 断言和 DOM 查询看完,这是后续所有测试的基础,重点理解查询的优先级,别一上来就写死 querySelector;接着看 User-event 和 Async 异步,这是前端测试最容易出错的地方,特别是定时器和异步请求怎么用 FakeTimer 快进;最后再看 Mock 和快照测试,搞清楚什么时候该用 Mock 替代逻辑,什么时候该用快照保底。原理部分可以最后看,能帮你理解 Jest 底层怎么跑,但不是动手的第一优先级。

学完能独立做什么 资料怎么配合练习

学完后你应该能在一个现有 React 项目里,独立给核心业务组件补上单测,用 Mock 隔离接口依赖,用快照守住 UI 结构,并配置基本的持续集成流程让测试自动跑起来。资料不要当文档通读,必须边看边在自己的项目里跑。建议拿一个你手头正在维护的组件,先照着 DOM 断言那节写一个简单的渲染测试,再照着 Mock 那节把组件里的接口调用替掉。遇到异步逻辑卡住时,回头翻 FakeTimer 和 Async 两节。E2E 部分建议最后动手,先在本地跑通一个简单的滚动交互场景,别一上来就想着覆盖整个业务流程。测试代码也要进版本库,别写完就扔,持续集成跑起来才算真正落地。


单元测试 + 端对端测试 + 持续集成方案,在项目中落地前端自动化测试

课程目录

*   开篇词:如何写前端的自动化测试?

*   技术选型:React Testing Library Or Enzyme?

*   Jest 断言:如何告诉程序什么是你的预期?

*   DOM 查询(上):页面元素的渲染和行为查询

*   DOM 查询(下):页面元素的参照物查询和优先级

*   DOM 断言:页面元素的断言

*   User-event:怎么对 Dom 组件绑定事件进行模拟触发?

*   Async 异步:异步方法如何进行单测?

*   FakeTimer:如何"快进"测试定时任务?

*   Mock:怎么替代不需要关注的逻辑?

*   RenderHook:怎么测试 React hook?

*   快照测试:怎么保障组件 UI 的完整?

*   深入原理:Jest 是怎么实现整个单元测试系统的?

*   E2E:怎么覆盖滚动等复杂交互场景的测试?

*   Coverage:自动化测试覆盖率的统计

*   CI:项目自动化测试的持续集成方案

*   最后的思考:用例的边界和深度究竟在哪里?

*   【加餐】Jest Mock 的极致用法 : 如何对 VSCode 插件进行单元测试?