Qt Coverage Workflow 是一个以覆盖率为驱动的测试生成工作流技能,覆盖 Python 与 C++ 两类 Qt 项目。其核心思路是一个可重复的循环:运行带插桩的测试 → 解析覆盖率报告(得到缺口清单)→ 将缺口交给 Claude 或 test-generator 智能体 → 生成针对性测试 → 再次运行测试以验证覆盖率变化 → 重复上述过程直到达到阈值。
使用方式
该技能通过 /qt:coverage 命令执行上述循环。当 /qt:coverage 识别出覆盖缺口后,test-generator 智能体将自动激活。
Python 项目(coverage.py)
针对 Python 项目的完整覆盖率流程,可参考 references/python-coverage-workflow.md,其中包含安装、各类报告格式、分支覆盖率、CI 集成以及面向智能体交接的解析模式。资料给出的关键 CI 步骤示例:
- name: Run coverage run: pytest --cov=myapp --cov-report=xml --cov-fail-under=80 tests/
C++ 项目(gcov + lcov)
针对 gcov/lcov 的完整流程,可参考 references/gcov-lcov-workflow.md,其中包含 CMake presets、完整的 lcov 命令序列、Clang/LLVM 替代方案、缺口解析以及故障排查。
覆盖率阈值
阈值可在 .qt-test.json 中配置:
{ "coverage_threshold": 80, "coverage_exclude": ["tests/", "/migrations/*"] }
资料给出的阈值参考:60–70% 适用于早期项目与快速原型;80% 为通用生产代码(推荐默认值);90%+ 适用于安全关键组件;100% MC/DC 适用于航空航天/汽车(需要 Coco)。
识别高价值覆盖缺口
分析缺口时的优先顺序为:业务逻辑类(回归风险最高);错误路径(异常处理、校验失败,通常未被测试);复杂条件分支(含多个条件的判断);公共 API 方法(被其他代码依赖的接口面)。应跳过测试基础设施、生成的 moc_* 文件以及纯 UI 胶水代码。
交接给 test-generator 智能体
识别缺口后,交接信息按如下结构组织(资料示例):
Gaps found in calculator.py: lines 18-22 (divide by zero path), line 45 (overflow check) Gaps found in formatter.py: lines 8-10 (empty string handling) Current coverage: 74%. Target: 80%. Generate tests targeting these specific lines.
test-generator 智能体在 /qt:coverage 完成并发现缺口后自动激活。
附加资源
references/gcov-lcov-workflow.md:完整 gcov/lcov 命令参考、CMake preset 模式与故障排查。 references/python-coverage-workflow.md:coverage.py 配置、分支覆盖率与并行测试运行。 templates/qt-coverage.yml:可直接使用的 GitHub Actions 工作流(含 Python 与 C++ 变体)。 templates/run-coverage.sh:可移植的 shell 脚本,供本地与通用 CI 使用。
限制
除上述内容外,关于该技能的收费、价格、支持平台与具体效果等事实,资料暂未提供。