SuperAPI AI 工具集

py-test-quality

测试与质量

查看项目

更新于 10-15 23:48

技能介绍

用途:衡量 Python 项目的代码覆盖率,并通过变异测试验证测试套件是否真正能捕获缺陷,从而支持安全重构。

主要能力:使用 pytest-cov 与 coverage 统计语句与分支覆盖率,生成终端或 HTML 报告,可设置覆盖率阈值;使用 mutmut(可选 cosmic-ray)做变异测试,统计 killed、survived、timeout 等结果并计算变异分数;提供覆盖率与变异分数的目标参考(覆盖率 ≥80% 可接受、≥90% 良好;变异分数 ≥75% 良好、≥85% 优秀)。

使用方式:在 dev 依赖组加入 pytest、pytest-cov、mutmut、coverage;常用命令如 pytest --cov=. --cov-report=term-missing、pytest --cov=. --cov-fail-under=80、mutmut run、mutmut results、mutmut show <mutation-id>。可在 pyproject.toml 配置 [tool.coverage.run]、[tool.coverage.report]、[tool.mutmut] 等。建议先运行 py-quality-setup 配置工具权限。

适用场景:重构前评估测试基线、补充未覆盖路径的测试、审查存活变异并补测试、在 CI 中强制覆盖率门槛(如 pytest --cov=. --cov-fail-under=80 并上传 coverage.xml)。

限制:资料未提供具体价格、平台支持范围与性能数据;变异测试耗时较长,100% 覆盖率或变异分数通常不现实;具体阈值与配置需按项目调整。