测试覆盖率命令怎么写
在开发日常中,写完代码总得跑一遍测试,看看哪些地方没覆盖到。尤其上线前,团队常会要求测试覆盖率达标。这时候就得用命令查一查当前项目的测试覆盖情况。不同技术栈的写法不一样,下面列几个常见的场景和对应命令。
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,每次提交自动检查。这样能及时发现测试遗漏,避免低覆盖代码合入主干。
命令本身不难,关键是要养成习惯,写完功能顺手跑一下,心里更有底。