一、这个技术是什么?
代码能运行不代表它在边界条件下仍然正确。只靠手动点击验证,每次修改都需要重复操作,而且容易漏掉旧问题。
Vitest 让测试变成可以自动执行的程序,用来验证函数、组件和模块在给定输入下是否产生预期结果。
二、没有它之前发生了什么?
主要依赖手动测试
↓
重复回归成本高,边界问题容易漏掉
↓
开发者开始为关键行为编写自动检查
↓
单元、集成和端到端测试形成分层体系
三、核心概念
1. Test Case
测试用例描述输入、操作和预期结果。
2. Unit Test
单元测试关注一个函数或小模块,反馈快,定位问题清晰。
3. Integration Test
集成测试验证多个模块协作,例如 loader、Schema 和数据库之间的配合。
4. Mock
Mock 用可控替代物模拟外部依赖,但过度 Mock 可能让测试脱离真实行为。
5. Regression
回归测试确保新的修改没有破坏已经正常工作的功能。
四、运行流程
五、面试复习
一句话回答
Vitest 通过自动化测试验证代码行为,单元测试关注局部逻辑,集成测试关注模块协作,测试结果可以进入 CI 作为发布门槛。
高频追问
- 单元测试和集成测试如何选择?
- Mock 有什么好处和风险?
- 测试覆盖率越高越好吗?
- 如何测试异步代码?
容易答错
不要把覆盖率数字当成质量本身。真正重要的是关键业务、边界条件和失败路径是否被验证。
六、项目展示
知识平台可以测试 Frontmatter 解析、WikiLink 解析、无效 slug 和缺少关联节点等内容管线规则,把内容质量检查纳入 CI。