【问题标题】:Jest coverage ignore笑话覆盖忽略
【发布时间】:2021-03-24 13:19:34
【问题描述】:

我试图从我的代码覆盖率输出中忽略几个文件。在阅读文档coveragePathIgnorePatterns 时,我似乎可以忽略文件夹。

我试图从我的报道中忽略 dummyhelpers 文件夹,但它们似乎总是包含在内:

笑话配置:

{
  "browser": true,
  "collectCoverageFrom": ["<rootDir>/src/**/*.{js,jsx}", "!<rootDir>/__tests__/__dummy__/test.js"],
  "coveragePathIgnorePatterns": ["<rootDir>/node_modules/", "<rootDir>/__tests__/__helpers__/", "<rootDir>/__tests__/__dummy__/"],
  "roots": [
    "<rootDir>/__tests__/",
    "<rootDir>/src/"
  ],
  "modulePaths": [
    "<rootDir>/src/"
  ],
  "modulePathIgnorePatterns": [
    "<rootDir>/lib/",
    "<rootDir>/node_modules/",
    "<rootDir>/__tests__/__helpers__/",
    "<rootDir>/__tests__/__dummy__/"
  ],
  "setupTestFrameworkScriptFile": "@djforth/jest-matchers",
  "testPathIgnorePatterns": [
    "<rootDir>/__tests__/__dummy__",
    "<rootDir>/__tests__/__dummy__",
    "<rootDir>/lib",
    "<rootDir>/node_modules",
    "<rootDir>/bower_components"
  ],
  "verbose": true
}

我收到以下报告:

-----------------------|----------|----------|----------|----------|----------------|
File                   |  % Stmts | % Branch |  % Funcs |  % Lines |Uncovered Lines |
-----------------------|----------|----------|----------|----------|----------------|
All files              |    98.87 |    96.48 |     92.5 |    99.55 |                |
 __helpers__           |    84.21 |      100 |    54.55 |    90.91 |                |
  test.js              |    84.21 |      100 |    54.55 |    90.91 |              6 |
 __tests__/__helpers__ |      100 |      100 |      100 |      100 |                |
  create_spy_obj.js    |      100 |      100 |      100 |      100 |                |
 src                   |      100 |       80 |     87.5 |      100 |                |
  index.js             |      100 |       80 |     87.5 |      100 |                |
 src/utils             |      100 |    97.73 |      100 |      100 |                |
  compile_spies.js     |      100 |    81.82 |      100 |      100 |                |
  create_callbacks.js  |      100 |      100 |      100 |      100 |                |
  create_spies.js      |      100 |    97.44 |      100 |      100 |                |
  create_stubs.js      |      100 |      100 |      100 |      100 |                |
  get_spy.js           |      100 |      100 |      100 |      100 |                |
  merger.js            |      100 |      100 |      100 |      100 |                |
  reset_spies.js       |      100 |      100 |      100 |      100 |                |
  title_keys.js        |      100 |      100 |      100 |      100 |                |
-----------------------|----------|----------|----------|----------|----------------|

【问题讨论】:

    标签: javascript jestjs


    【解决方案1】:

    不知道为什么这对你不起作用,但我们反过来做:

    "collectCoverageFrom": ["src/**/*.js"],
    

    【讨论】:

      【解决方案2】:

      我终于弄清楚了我的问题所在。

      Jest 在后台使用了伊斯坦布尔。当我设置项目时,我复制了我的 .babelrc 配置,却没有意识到我已经离开了旧的 Jasmine 配置。我已更改为将测试添加到 __tests__/**/*.test.js 的 Jest 约定,但是在 .babelrc 配置中我有:

      "plugins": [
          [
            "istanbul",
            {
              "exclude": [
                "spec/**/*.spec.js"
              ]
            }
          ],
          "rewire"
        ]
      

      因此,一旦我删除了排除,覆盖范围就会正确显示。看起来如果您在 .babelrc 配置中指定它会覆盖开玩笑的配置。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-12-07
        • 2016-05-07
        • 2020-03-30
        • 2015-04-25
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多