在 Jest 中运行测试时,如何设置代码覆盖率阈值?

阅读时长 3 分钟读完

Jest 是一个流行的 JavaScript 测试框架,它支持测试用例的编写、运行和覆盖率报告生成。在开发过程中,测试用例是非常重要的,它可以帮助我们检测代码是否符合预期的功能,提高代码质量和稳定性。而在测试过程中,代码覆盖率是一项重要的指标,它可以帮助我们检测测试用例是否覆盖了代码的全部功能,保证项目的可靠性和完整性。

代码覆盖率的作用

代码覆盖率是指测试用例执行过程中,覆盖了代码中多少行、多少分支、多少函数和类等具体的代码范围。通过分析覆盖率报告,我们可以优化测试用例的编写,提高覆盖率并保证代码的稳定性和质量。

Jest 中的代码覆盖率

Jest 提供了一个内置的代码覆盖率工具,可以帮助我们生成全面的覆盖率报告。我们可以在运行测试时添加 --coverage 参数启用代码覆盖率:

然后 Jest 会执行测试用例,并生成报告结果:

-- -------------------- ---- -------
 ----  -------------
  - --- -------- -----

--------------------------------------------------------------------------------
----               - - ----- - - ------ - - ----- - - ----- - --------- ---- --
--------------------------------------------------------------------------------
 ------            -     --- -      --- -     --- -     --- -
--------------------------------------------------------------------------------

---- ------- - ------- - -----
------       - ------- - -----
----------   - -----
-----        ----- -

我们可以看到,Jest 生成了测试用例的覆盖率报告,并统计了不同类型的代码范围的覆盖率结果。

设置代码覆盖率阈值

在实际项目中,我们对代码覆盖率的要求通常是比较高的,为了确保测试用例覆盖了足够多的代码范围,我们需要设置代码覆盖率阈值,当达到阈值时立即报错。

我们可以通过在 jest.config.js 中设置 coverageThreshold 属性来配置代码覆盖率阈值。阈值的值为一个对象,包含了几个关键属性:globalstatementsbranchesfunctionslines。 配置文件的示例代码如下:

-- -------------------- ---- -------
-------------- - -
  -- ---- ---
  ------------------ -
    -- -------
    ------- -
      ----------- ---
      --------- ---
      ---------- ---
      ------ ---
    --
    -- -------
    ----------------- -
      ----------- ----
      --------- ----
      ---------- ----
      ------ ----
    -
  --
--

在上面的配置中, global 属性设置了全局覆盖率的阈值,当测试用例的覆盖率低于 90% 时,Jest 将报错。./src/utils.js 属性设置了对特定文件的覆盖率要求,当该文件覆盖率不达标时,Jest 将同样报错。

结语

通过本文的介绍,我们学习了如何在 Jest 中使用代码覆盖率工具,并设置了代码覆盖率阈值来保证测试用例的质量和完整性。在

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/67971c76504e4ea9bde22867

纠错
反馈