本目录包含 CodeFlux 项目的测试相关文档。
1. 测试策略
完整的自动化测试系统规划
包含内容:
- 现状分析
- 测试架构设计(测试金字塔)
- 实施路线图(10周计划)
- 技术选型对比
- 测试覆盖策略
- CI/CD 集成方案
- 最佳实践
适合人群: 技术负责人、架构师、项目经理
2. 实施指南
快速上手的实施指南
包含内容:
- 快速开始(安装配置)
- 第一个测试示例
- E2E 测试配置
- CI/CD 配置
- 测试辅助函数
- 常见问题解答
适合人群: 开发人员、测试工程师
3. 实施总结 ⭐ 新增
已完成工作的详细总结
包含内容:
- 已完成的工作清单
- 测试统计和覆盖率
- 故障排查指南
- 下一步建议
适合人群: 所有人
4. 快速参考 ⭐ 新增
常用命令和测试示例
包含内容:
- 常用测试命令
- 测试文件位置
- 编写测试示例
- 测试覆盖率目标
适合人群: 开发人员
- 了解整体测试规划 → 阅读 测试策略
- 开始编写测试 → 阅读 实施指南
- 查看已完成工作 → 阅读 实施总结 ⭐
- 快速查找命令 → 阅读 快速参考 ⭐
- 查看测试示例 → 查看
../../tests/目录 - 运行测试 → 执行
npm run test:unit
- ✅ 测试框架搭建(Vitest + Playwright)
- ✅ 测试环境配置
- ✅ 单元测试:18 个测试,100% 通过
- ✅ 组件测试:10 个测试,100% 通过
- ✅ 集成测试:16 个测试,100% 通过
- ✅ E2E 测试:8 个测试(已编写)
- ✅ CI/CD 配置(GitHub Actions)
- ✅ 测试辅助工具
- ✅ 测试文档完善
- ✅ 代码修复验证测试(verify-fixes.js)
- 总测试数: 44 个
- 通过率: 100%
- 覆盖率: 13.7%
- ⏳ 提高测试覆盖率到 30%+
- ⏳ 为核心工具函数添加更多测试
- ⏳ 完善 E2E 测试场景
- ⏳ 运行
npx playwright install安装 E2E 浏览器
# 运行所有单元测试
npm run test:unit
# 运行组件测试
npm run test:component
# 运行集成测试
npm run test:integration
# 生成覆盖率报告
npm run test:coverage
# 查看覆盖率报告
open coverage/index.html
# 监听模式(开发时)
npm run test:watch
# UI 界面
npm run test:ui# 首次运行需要安装浏览器
npx playwright install
# 运行 E2E 测试
npm run test:e2e参考 快速参考 查看测试示例。
| 指标 | 当前 | 短期目标 | 长期目标 | 状态 |
|---|---|---|---|---|
| 单元测试 | 18 个 | 30+ | 50+ | ✅ 已启动 |
| 组件测试 | 10 个 | 20+ | 40+ | ✅ 已启动 |
| 集成测试 | 16 个 | 25+ | 40+ | ✅ 已启动 |
| E2E 测试 | 8 个 | 15+ | 30+ | ✅ 已启动 |
| 总测试数 | 44 | 90+ | 160+ | ✅ 已启动 |
| 覆盖率 | 13.7% | 30% | 75% | 🟡 进行中 |
Statements : 13.53% ( 266/1966 )
Branches : 3.88% ( 34/875 )
Functions : 5.2% ( 28/538 )
Lines : 13.7% ( 265/1933 )
- 阶段 0: 代码修复验证(已完成)
- 阶段 1: 基础设施搭建(已完成)✅
- 阶段 2: 初始测试编写(已完成)✅
- 阶段 3: 覆盖率提升到 30%(进行中)
- 阶段 4: E2E 测试完善(计划中)
- 阶段 5: 覆盖率提升到 75%(计划中)
单元测试: Vitest + Vue Test Utils
组件测试: Vitest + @vue/test-utils
集成测试: Vitest + MSW
E2E测试: Playwright
覆盖率: c8 (Vitest 内置)
Mock: vi (Vitest 内置) + MSW
CI/CD: GitHub Actions
- Vitest: 快速、与 Vite 集成好、API 兼容 Jest
- Playwright: 现代化、多浏览器支持、稳定可靠
- MSW: 优雅的 API Mock 方案
- c8: 准确的覆盖率统计
- 测试应该快速 - 单个测试 < 100ms
- 测试应该独立 - 不依赖其他测试
- 测试应该可重复 - 每次运行结果一致
- 测试应该清晰 - 命名和结构清晰易懂
- 测试应该有价值 - 测试真正重要的行为
提交 PR 时,请确保:
- 新功能有对应的测试
- 测试覆盖了边界情况
- 测试命名清晰
- 测试运行通过
- 没有降低整体覆盖率
如有问题或建议,请:
- 提交 Issue
- 发起 Pull Request
- 联系项目维护者
最后更新: 2026-05-31
维护者: CodeFlux Team