关于 pytest-coverage
这项技能通过 pytest 覆盖率报告查找未测试的源码行,并指导补充测试,直至行覆盖完整。适用于检查整个项目或特定模块覆盖率的开发者。
主要功能
- 01生成注释式覆盖率报告
- 02指定模块或测试文件
- 03定位未覆盖的源码行
- 04持续运行测试直至覆盖完整
适用场景
- 01查找项目中未测试的代码行
- 02检查单个模块的覆盖率
- 03为未覆盖代码补充测试
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ github/ awesome-copilot --skill pytest-coverage安装后在 Claude Code 中输入/pytest-coverage确认已加载。
详细介绍
目标是让测试覆盖所有代码行。
使用以下命令生成覆盖率报告:
pytest --cov --cov-report=annotate:cov_annotate
如果你要检查特定模块的覆盖率,可以这样指定:
pytest --cov=your_module_name --cov-report=annotate:cov_annotate
你也可以指定要运行的特定测试,例如:
pytest tests/test_your_module.py --cov=your_module_name --cov-report=annotate:cov_annotate
打开 cov_annotate 目录以查看带注释的源代码。 每个源文件都会有一个对应的文件。如果某个文件的源代码覆盖率为 100%,说明所有行都已被测试覆盖,因此你不需要打开该文件。
对于每个测试覆盖率低于 100% 的文件,在 cov_annotate 中找到对应的文件并查看该文件。
如果某一行以 !(感叹号)开头,说明该行未被测试覆盖。 添加测试以覆盖缺失的行。
持续运行测试并改进覆盖率,直到所有行都被覆盖。
评论
支持 Markdown