Jest 如何忽略某些文件并不计入测试覆盖率?

阅读时长 4 分钟读完

在前端开发过程中,我们经常会使用 Jest 进行单元测试。但是,有些文件并不需要测试或者不应该计入测试覆盖率,例如配置文件、mock 数据等。那么,如何在 Jest 中忽略这些文件呢?

Jest 的配置文件

在 Jest 中,我们可以通过配置文件来设置 Jest 的行为。默认情况下,Jest 会在项目根目录下寻找 jest.config.jsjest.config.json 文件作为配置文件。如果没有找到,Jest 会使用默认配置。

下面是一个简单的 jest.config.js 配置文件示例:

在这个示例中,我们设置了测试覆盖率收集、测试覆盖率收集的文件、测试覆盖率报告方式、测试环境和测试文件匹配方式等。

忽略文件

如果我们想要忽略某些文件,可以使用 testPathIgnorePatterns 属性。这个属性接受一个正则表达式数组,用来匹配需要忽略的文件路径。例如,我们可以在配置文件中添加以下代码:

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

这个配置表示忽略 node_modules 目录、config 目录、__mocks__ 目录以及 __tests__/fixtures/ 目录下的所有文件。

不计入测试覆盖率

有时候,我们需要忽略某些文件不计入测试覆盖率。例如,我们可能会编写一些 mock 数据,这些数据不应该计入测试覆盖率。在 Jest 中,我们可以使用 coveragePathIgnorePatterns 属性来忽略这些文件。

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

这个配置表示忽略 node_modules 目录、config 目录、__mocks__ 目录、__tests__/fixtures/ 目录以及 src/mockData/ 目录下的所有文件不计入测试覆盖率。

总结

在 Jest 中,我们可以使用配置文件来设置 Jest 的行为。通过 testPathIgnorePatterns 属性和 coveragePathIgnorePatterns 属性,我们可以忽略一些不需要测试或者不应该计入测试覆盖率的文件。这些配置可以帮助我们更好地管理测试文件,提高开发效率。

示例代码

以下是一个完整的 jest.config.js 示例代码:

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

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

纠错
反馈