禁用未测试文件的覆盖范围 - Jest

Cha*_*ger 6 javascript unit-testing jestjs

使用@vue/cli-plugin-unit-jest 时,每次运行单元测试时我都会收到覆盖率报告,无论我--coverage在执行行中是否有标志。我不想收到所有未经测试的文件的覆盖率报告。在网上搜索答案时,有很多关于如何打开而不是关闭该功能的问题。我也无法在文档中找到它。

你如何Coverage on Untested Files在 Jest 中禁用该功能?

wor*_*orc 16

您还可以从命令行抑制覆盖。我正在使用的包提供了一个测试脚本,我能够将该collectCoverage选项作为标志传递。这里的相对路径有效,因为我的测试运行程序是由 npm 调用的,并且应该将工作目录设置为我的项目的根目录:

npm run test -- path/to/your.spec.js --collectCoverage=false

反之,您可以指定一个文件来收集覆盖范围。它将覆盖您可能已经在项目的测试配置文件中定义的任何广泛的 glob。提醒一下,您从文件而不是规范文件中收集覆盖范围。还有一个提醒,您可以在该覆盖选项中列出几乎任何您想要的文件,因此请确保您的选择正确:

npm run test -- path/to/your.spec.js --collectCoverageFrom=path/to/your/source/file.js


Her*_*kov 13

禁用覆盖类似于启用它,只需在模式前加上!类似的前缀:

{
  "collectCoverageFrom": [
    "**/*.{js,jsx}",
    "!**/node_modules/**",
    "!**/folder-with-untested-files/**"
  ]
}
Run Code Online (Sandbox Code Playgroud)

或与"collectCoverage": false. 如果这不起作用,那么您在代码中的某处覆盖了此参数。


小智 5

"collectCoverage": false
Run Code Online (Sandbox Code Playgroud)

jest.config.js 中

  • 虽然此代码可以回答问题,但提供有关此代码为何和/或如何回答问题的附加上下文可以提高其长期价值。 (3认同)