视频课程 编程

Vitest单元测试五十题精进 (英文课程中文字幕)

¥5.00 已售 0
✓ 自动发货 ✓ 永久有效 ✓ 售后保障

资源介绍

视频数量:102个 总时长:7小时2分 课程介绍: Vitest单元测试五十题精进 写测试的时候,你有没有过这种时刻——代码明明跑通了,心里却没底,不知道改动会不会把别的地方搞坏?又或者团队要求写单测,你翻开文档看了半天,匹配器一堆、生命周期一堆、Mock又是一堆,越看越迷糊,最后只写几个最简单的toBe了事。 这门课专门解决这些问题。它不讲大道理,直接用五十道实操题带你把Vitest摸透。Vitest是Vite团队打造的测试框架,速度快、对TypeScript支持好,和现代前端工程天然兼容。整套课程七个多小时、一百多个视频,每道题分"出题"和"复盘"两部分:先给你一个具体场景让你试着写,再跟讲解看参考答案和背后的原理。 一、入门与第一个测试 你会搞清楚TypeScript项目为什么几乎不用配置就能直接跑测试,全局模式和显式导入有什么区别,Node环境和浏览器环境该怎么选。这些基本判断在开头几道题里就讲明白了。 二、断言与匹配器 "两个值相等"这件事在Vitest里居然有三种级别——toBe、toEqual、toStrictEqual,各自严格程度不同,怎么选有讲究。除了基础匹配器,还有面向特定类型的匹配器、非对称匹配器、各种异常检查写法,以及如何自定义匹配器。软断言能一次性收集所有失败信息,不用改一个bug跑一次测试。 三、测试结构与数据驱动 only、skip、todo分别用在什么场景?一组相似数据难道要复制粘贴一堆用例?each做数据驱动怎么用,describe嵌套怎么搭出矩阵组合,TestContext这种新写法跟each本质区别在哪?测试命名怎么写才让报告一目了然——这些都有覆盖。 四、生命周期与夹具 beforeAll、beforeEach、afterAll、afterEach的执行顺序和频率直接决定测试速度和隔离性。extend可以把可复用的设置封装起来,只注入给真正需要的测试;多夹具能组合成依赖图;自动夹具配合scope能在worker层面共享耗时初始化;setupFiles和globalSetup的差异也会讲清楚。 五、Mock体系 这套机制拆成可操作的步骤来讲。先是Spy基础,验证函数有没有被调用、参数是什么、调用了几次。然后是clear、reset、restore三级重置的区别,模块Mock涉及变量提升的机制,以及为什么有时候Mock不生效。替换全局API(比如fetch)、环境变量打桩、假定时器让debounce不用真的等几秒钟、连续响应和异常用于测试重试逻辑——这些实战场景全都有。 六、异步测试 异步代码的测试有自己的坑。await位置不对,断言可能根本没执行;假定时器和Promise微任务机制是怎样的;waitFor和waitUntil什么时候用哪个;并发能缩短等待但为什么必须用本地expect;不稳定的测试能不能靠retry救场,又为什么不能把它当常规手段——逐个拆解。 七、文件、数据库与HTTP 日志怎么捕获验证,临时文件读写如何保证并发不冲突,保存再读取的往返路径怎么测。数据库部分用SQLite内存模式做真实SQL测试,连接一次、每次脏读的DB夹具复用策略平衡了速度和数据真实性。HTTP端点不用启服务就能验路由,POST参数校验的职责边界,通过依赖注入替换Mock数据库的设计收益,404作为契约的一部分如何钉死——这些实践都会讲到。 八、快照与Vitest独有特性 快照能"钉住"输出而不需要手写期望值,内联和文件快照怎么选,自定义序列化器如何消除总是变的噪音字段。源码内测试、编译期验证的类型测试、比较两种实现速度的基准测试、浏览器模式与DOM测试的取舍——这些Vitest独门武器都讲到了。 九、质量门槛与运维 覆盖率阈值作为检测回归的机制如何配置,怎么补充用例拉高分支覆盖率。单元和集成测试分离到不同项目运行,再整合进CI流水线。最后是综合实战:用TDD实现功能,一行命令通过模拟CI,把前面的知识点全部串起来。 整套课程有个贴心的设计:不用本地搭任何环境,全部在CodeSandbox里完成。跟着题目在浏览器里写代码,写完直接看到测试结果,有问题再看复盘视频查漏补缺。"练—看—复盘"的节奏比单纯听讲或者看书都高效。 适合谁?刚接触Vitest或单元测试不久、想要系统过一遍核心功能的人,正序结构就很合适。写过一些测试但感觉知识点零散的人,五十道题的复盘能把模糊的地方打实。负责把测试引入团队或接入CI的人,最后两章的实战内容正对口。 学完这门课,你不会只记住几个API名字,而是会建立一套判断标准:面对具体测试场景,你知道该用哪种匹配器、怎么组织测试结构、Mock打到哪一层、异步代码用什么姿势测。理解每个选择背后的理由,比照搬网上模板代码重要得多。