无法使用 nyc/istanbul 进行代码覆盖
Posted
技术标签:
【中文标题】无法使用 nyc/istanbul 进行代码覆盖【英文标题】:Unable to use nyc/istanbul for code coverage 【发布时间】:2018-09-13 16:10:55 【问题描述】:我使用nightwatch
进行基于硒的测试,但是当我使用nyc nightwatch
时,它只报告测试代码及其100% 的覆盖率。 这是我现在的主要拦截器。我如何获得保险?基本上,我希望最终将其作为 Jenkins CI 的报告。
此外,我还想用我正在使用jest
的 UT 进行测试。通常,"test": "jest --coverage"
将正确列出所有测试代码的覆盖率。所以当我给nyc npm run test
时,它给了我同样的报道,这很好。但是当我只使用nyc jest
运行时,它会返回100% 的jest.config.js
覆盖率!!
我没有mocha
或grunt
等。
【问题讨论】:
【参考方案1】:由于 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
【讨论】:
以上是关于无法使用 nyc/istanbul 进行代码覆盖的主要内容,如果未能解决你的问题,请参考以下文章
尝试资源的 8 个分支 - 可以进行 jacoco 覆盖吗?