Jest 是一个流行的 JavaScript 测试库,能够帮助开发团队通过测试来保证代码质量。除了执行测试用例,Jest 还能够对测试覆盖率进行统计,以便开发者可以更好地了解代码的测试情况,并及时发现测试用例的覆盖不足之处。
本文将介绍 Jest 如何进行前端项目的测试覆盖率统计。
安装 Jest
要使用 Jest 进行测试覆盖率统计,首先需要在项目中安装 Jest。可以使用 npm 命令进行安装:
npm install jest --save-dev
安装完成后,可以在 package.json 文件的 script 字段中添加如下内容:
"scripts": { "test": "jest" }
这样,在终端中执行 npm run test 命令就可以执行 Jest 测试了。
开启测试覆盖率统计
要启用测试覆盖率统计,可以在 Jest 的配置文件 jest.config.js 中加入如下代码:
module.exports = { collectCoverage: true, coverageReporters: ["json", "html"] };
其中,collectCoverage 属性为 true 表示开启测试覆盖率统计,coverageReporters 属性则指定了测试结果报告的格式,包括 json 和 html。
完成 Jest 配置后,执行 npm run test 命令即可进行测试覆盖率统计。
查看测试覆盖率报告
在执行完测试后,Jest 将在根目录下自动生成 coverage 文件夹,其中包含了测试覆盖率报告。打开 coverage/lcov-report/index.html 文件即可查看详细的测试覆盖率报告。
测试覆盖率报告包含了三个部分:
Statements 覆盖率
Statements 覆盖率表示代码中每个语句被执行的次数。当所有语句至少被执行一次时,Statements 覆盖率为 100%。如果某些语句从未被执行过,则 Statements 覆盖率将低于 100%。
Branches 覆盖率
Branches 覆盖率表示代码中条件语句的执行情况。当所有条件语句都至少被覆盖一次时,Branches 覆盖率为 100%。如果某些条件从未被覆盖过,则 Branches 覆盖率会低于 100%。
Functions 覆盖率
Functions 覆盖率表示每个函数被执行的情况。当所有函数都至少被执行一次时,Functions 覆盖率为 100%。如果某些函数从未被执行过,则 Functions 覆盖率将低于 100%。
示例代码
以下是一个简单的示例代码,演示了如何在 Jest 中进行测试覆盖率统计:
// sum.js function sum(a, b) { return a + b; } module.exports = sum;
// sum.test.js const sum = require("./sum"); test("adds 1 + 2 to equal 3", () => { expect(sum(1, 2)).toBe(3); });
在项目根目录中执行 npm run test,即可在控制台中看到测试结果,同时在 coverage/lcov-report/index.html 文件中查看测试覆盖率报告。
结论
Jest 是一个强大的 JavaScript 测试工具,能够帮助前端开发团队保证代码质量。通过开启测试覆盖率统计功能,团队可以快速了解代码的测试情况,并发现测试用例不足之处,从而提高代码的可维护性和稳定性。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/66f149d56fbf960197392f07