工程开发
typescript-testing avatar

typescript-testing

标准化 TypeScript 的 Vitest 单元与集成测试工作流程,强制执行 70% 覆盖率、正确的 Mock 实践及 CI/CD 就绪的验证模式。

简介

此技能为使用 Vitest 的 TypeScript 项目提供结构化的测试框架,专为需要维持高软件质量与稳健 CI/CD 流水的开发人员而设计。它通过强制执行严格的品质标准(如 70% 的单元测试覆盖率、环境无关的测试执行及严格的架构解耦)超越了基本的测试需求。该代理程序确保测试代码具备与生产代码相同的可读性与可维护性,并利用目录结构、命名与断言类型的专业惯例。

  • 强制执行单元测试,采用 vi.mock() 的全面 Mock 策略,并针对何时应在数据层测试中使用真实数据库实现而非 Mock 提供明确指导。

  • 整合复杂的测试模式,包括用于组件协调的集成测试与端对端 (E2E) 跨功能验证,确保在新增功能时的系统稳定性。

  • 支持高级验证技术,例如使用 fast-check 进行基于属性 (property-based) 的测试,以验证不变量与边界错误情况。

  • 通过命令行接口工具支持自动测试执行,包括 Vitest 的清理脚本,以防止 CI/CD 环境中的僵尸程序泄漏。

  • 提供关于避免 test.skip() 或注释掉代码等反模式的明确规则,倾向直接删除或完整修复,以确保测试套件的完整性。

  • 输入:目标 TypeScript 服务或功能模块。代理程序预期在项目设计文件中定义明确的业务需求与集成点。

  • 输出:符合项目特定覆盖率门槛与类型安全 Mock 惯例的高质量、可维护的测试文件 (.test.ts 或 .int.test.ts)。

  • 限制:严格要求陈述句、分支、函数与行数达到 70% 的覆盖率。Mock 必须限于外部 I/O 与直接依赖项;数据库逻辑需要实际的数据库验证(容器化或内存内)以防止 Schema 偏移与查询错误。

  • 最佳实践:始终优先考虑基于结果的验证而非调用顺序,使用字面值进行断言以将测试意图与实现解耦,并确保所有测试均具备可重复性与独立性。

仓库统计

Star 数
204
Fork 数
20
Open Issue 数
0
主要语言
JavaScript
默认分支
main
同步状态
空闲
最近同步时间
2026年5月1日 08:07
在 GitHub 查看