无法使用nyc / istanbul进行代码覆盖

时间:2018-04-04 07:32:37

标签: javascript code-coverage istanbul nyc

我正在使用nightwatch进行基于selenium的测试,但是当我使用nyc nightwatch时,它只会报告测试代码及其100%的覆盖率。 这是我现在的主要拦截器。我如何获得保险?基本上,我想最终将此作为Jenkins CI的报告。

此外,我还考虑使用我的UT来测试我使用的jest。通常,"test": "jest --coverage"将使用所有测试代码正确列出覆盖范围。因此,当我给nyc npm run test时,它给了我相同的覆盖率,这很好。但是,当我只使用nyc jest时,它会为jest.config.js !!

返回100%的覆盖率

我没有mochagrunt等。

1 个答案:

答案 0 :(得分:0)

由于jest在后台使用nyc,因此没有理由将它们一起使用。您可以使用--coverage标志调用jest,并根据配置中的定义告诉它要在您的配置中使用哪些报告:

  "jest": {
    "collectCoverage": true,
    "collectCoverageFrom": [
      "**/*.{js,jsx}",
      "!**/node_modules/**",
      "!**/vendor/**"
    ],
    "coverageReporters": [
      "text",
      "cobertura"
    ],
    "reporters": [
      "default",
      "jest-junit"
    ]
  }

https://jestjs.io/docs/en/configuration#coveragereporters-arraystring