测试覆盖率命令怎么写 实用操作步骤与避坑指南

测试覆盖率命令怎么写

在开发日常中,写完代码总得跑一遍测试,看看哪些地方没覆盖到。尤其上线前,团队常会要求测试覆盖率达标。这时候就得用命令查一查当前项目的测试覆盖情况。不同技术栈的写法不一样,下面列几个常见的场景和对应命令。

JavaScript / Node.js(使用 Jest)

Jest 是前端项目里用得很广的测试框架,自带覆盖率统计功能。只要在 package.json 里配置好脚本,运行一行命令就行。

npm test -- --coverage

或者在 package.json 中添加:

{
  "scripts": {
    "test:coverage": "jest --coverage"
  }
}

之后直接运行 npm run test:coverage,终端就会输出每个文件的语句、分支、函数和行数覆盖率。

Python(使用 pytest-cov)

Python 项目常用 pytest 搭配 pytest-cov 插件来生成覆盖率报告。

先安装插件:

pip install pytest-cov

然后执行:

pytest --cov=your_module tests/

比如你的模块叫 calculator,就写成 --cov=calculator。执行后会在终端显示详细覆盖率,还能加上 --cov-report html 生成网页版报告。

Java(Maven + JaCoCo)

Java 项目如果用 Maven 构建,集成 JaCoCo 插件后,可以直接用命令生成报告。

mvn test jacoco:report

这个命令会运行测试,并在 target/site/jacoco 目录下生成 HTML 报告。打开 index.html 就能看到每行代码是否被覆盖。

Go 语言

Go 自带测试工具链,覆盖率命令也很简洁。

想看控制台输出:

go test -cover

想生成详细报告文件:

go test -coverprofile=coverage.out && go tool cover -html=coverage.out -o coverage.html

执行完会得到一个 coverage.html,浏览器打开就能看到高亮标记的未覆盖代码。

实际工作中,很多人把覆盖率命令集成到 CI 流程里,比如 GitHub Actions 或 Jenkins,每次提交自动检查。这样能及时发现测试遗漏,避免低覆盖代码合入主干。

命令本身不难,关键是要养成习惯,写完功能顺手跑一下,心里更有底。