Visual Studio Code中如何查看Python unittest单元测试覆盖率?
VS Code 1.68.1 查看Python unittest单元测试覆盖率方法
前置准备
- 先安装Python覆盖率统计工具,在VS Code打开项目后唤起内置终端,执行命令:
pip install coverage - 打开VS Code扩展面板(快捷键
Ctrl+Shift+X),搜索安装Coverage Gutters插件,安装完成后重载窗口即可,该插件完全兼容1.68.1版本的VS Code。
生成覆盖率数据
- 在项目根目录终端执行命令,运行所有unittest用例同时采集覆盖率:
coverage run -m unittest discover,命令会自动递归扫描目录下符合unittest命名规范的测试用例执行,记录每行代码的执行状态。 - 单测执行完成后,生成插件可识别的覆盖率文件:
coverage xml,执行后项目根目录会生成coverage.xml文件。
编辑器内查看行级覆盖率
- 打开任意项目源码文件,找到VS Code底部状态栏的Coverage Gutters控制按钮,点击
Watch开启实时覆盖率展示。 - 代码行颜色标识规则:
- 绿色:该行代码被测试用例覆盖
- 红色:该行代码完全未被测试用例执行到
- 黄色:分支存在部分覆盖(例如if判断只走了True分支,未覆盖False分支场景)
终端快速查看整体覆盖率
如果不需要行级标识,直接在终端执行
coverage report -m,就能直接输出所有统计文件的覆盖率百分比、未覆盖行号,适合快速核对整体覆盖率指标。
可选配置
可以在项目根目录新建.coveragerc文件自定义统计规则,比如指定只统计业务源码目录、排除虚拟环境文件、排除测试文件本身,避免无关文件干扰覆盖率统计结果。每次修改代码或新增用例后,重新执行一遍生成覆盖率数据的两条命令,就能同步最新的覆盖情况。
内容的提问来源于stack exchange,提问作者w_parch
相关产品推荐
相关产品推荐

