Read OSS

vitest-dev/vitest

5 articles

前置知识

01

Vitest 架构概览:基于 Vite 的测试框架是如何组织的

全面梳理 Vitest 的 monorepo 结构与 17 个子包,深入解析 Node 编排层与 Worker 运行时之间的关键边界,以及 Vite 如何成为整个框架的核心支柱。

02

从 CLI 到配置:Vitest 的启动与配置解析流程

完整追踪 Vitest 从二进制入口出发,经过 CLI 解析、配置文件发现、Vite 服务器创建、VitestPlugin 钩子生命周期,直到向 Worker 序列化配置的整个启动链路。

03

Pool 系统:Vitest 如何在 Worker 之间分配和执行测试

深入剖析 Vitest 的三层 Pool 架构、Node 与 Worker 之间的 birpc 通信桥接机制、Worker 启动流程以及测试结果的收集方式。

04

@vitest/runner 内部解析:测试收集、执行与 Hook 系统

深入探讨与框架无关的 @vitest/runner 包——它定义了测试 DSL、将测试文件收集为任务树、通过 hook 和 fixture 执行测试,并管理并发与重试机制。

05

Reporter、覆盖率与扩展 Vitest:输出与插件层

深入讲解 reporter 生命周期、覆盖率提供器、测试排序器、UI 的 WebSocket API、Node 编程式 API,以及 expect/spy/snapshot 子包架构。