全链路代码测试助手
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/testing。
技能介绍
要解决什么问题
维护测试往往卡在「该测什么」和「测完怎么判断够不够」:新模块没有用例、边界分支没人补、CI 里绿了但关键路径仍没覆盖。手工从读代码到写 pytest/Jest、再跑 --cov 并解读报告,步骤多且容易漏掉 mock 边界或把 flaky 当成产品 bug。
技能如何工作
Agent 按六步工作流处理给定文件或目录:
- 分析源码 — 梳理函数、类与外部依赖,明确可测接口与副作用。
- 枚举用例 — 覆盖 happy path、边界、非法输入、异常与状态迁移;集成点区分 mock 与实连。
- 编写测试 — 沿用项目既有框架,采用 Arrange-Act-Assert,必要时参数化。
- 执行测试 — 用对应 runner 跑套件,区分失败来自被测代码还是测试本身。
- 覆盖率分析 — 结合
pytest --cov、jest --coverage等报告标出未覆盖分支与关键路径缺口。 - 改进建议 — 补充用例优先级、可测性重构(如依赖注入)与下一步行动清单。
支持 Python(pytest)、JavaScript/TypeScript(Jest/Vitest)、Java(JUnit 5)、Go、Rust 等;输入可为源码路径、现有测试文件、框架偏好或目标覆盖率阈值。
适用边界
动态生成代码、全局单例、异步并发与环境依赖场景需要额外说明;metaprogramming 可能无法自动发现全部调用路径。测试命名、独立性与 mock 外部依赖等实践见技能内 Best Practices;追求有意义的分支覆盖而非机械 100%。
使用场景
- 接手几乎没有测试的 Python 模块,需要在合并前按 pytest 补 happy path、边界与异常用例并生成覆盖率报告。
- JavaScript 校验或工具函数改动后,要用 Jest 编写参数化用例并跑 `--coverage`,确认失败来自源码还是断言写错。
- PR 被 CI 卡在覆盖率门槛上,需对照报告找出未覆盖的错误处理与校验分支并列出优先补测清单。
- 已有 `tests/` 目录但结构混乱,需要在不破坏独立性的前提下扩展集成测试并标注需 mock 的外部 IO。
适合人员
- 维护后端 API 或核心业务逻辑的工程师,发版前必须用单元测试覆盖分支、异常与对外部服务的协作边界。
- 负责内部 npm/React 工具库的前端开发者,PR 需满足团队设定的 Jest 覆盖率并避免 flaky 用例进主干。
- 在 legacy 单体或微服务上「补债式」加测试的技术负责人,希望从读源码到枚举用例有一致流程而非零散 copy assert。
- 配置 GitHub Actions 或同类 CI 的仓库维护者,需要把测试命令、失败解析与覆盖率解读嵌进每次改动的反馈里。