使用 jest.config resetMocks 时 Jest Coverage 失败:'true'

Jest Coverage fails when using jest.config resetMocks: 'true'

我在 package.json:

中使用 jest 配置
"jest": {
    "coverageThreshold": {
      "global": {
        "branches": 80,
        "functions": 80,
        "lines": 80,
        "statements": 80
      },
      "resetMocks": true,
      "restoreMocks": true
    },
    "collectCoverageFrom": [
      "src/**/*.{js,ts,tsx}",
      "!src/index.js",
      "!src/setupTests.js",
      "!src/serviceWorker.js",
      "!src/setupApollo.js",
      "!src/test/**/*",
      "!src/mockData/**/*",
      "!src"
    ],
    "coverageReporters": [
      "cobertura",
      "json",
      "json-summary",
      "lcov"
    ]
  },

除了最后收到以下消息外,我的所有覆盖参数都通过了:

Jest:未找到 resetMocks 的覆盖率数据。 开玩笑:未找到 restoreMocks 的覆盖率数据。

如何将这两个玩笑方法排除在覆盖范围之外?

为了回答您的问题 - 您的 reset/restore 在 coverageThreshold 对象内,请将它们移到外面。

    "coverageThreshold": {
      "global": {
        "branches": 80,
        "functions": 80,
        "lines": 80,
        "statements": 80
      },
    },
    "resetMocks": true,
    "restoreMocks": true

您正在重置的内容显然不稳定,如果您有兴趣,请尝试下面的 GH 线程。

resetMocks: true,
resetModules: true