【问题标题】:Disable Coverage on Untested Files - Jest禁用未测试文件的覆盖 - 开玩笑
【发布时间】:2019-07-12 02:41:01
【问题描述】:

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

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

【问题讨论】:

标签: javascript unit-testing jestjs


【解决方案1】:

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

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

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

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

【讨论】:

    【解决方案2】:
    "collectCoverage": false
    

    在 package.json 中,将禁用覆盖、收集、

    正如@Herman 所述

    您还可以将! 放在属性值中的文件模式之前
    @987654323 @ 在 package.json 中

    【讨论】:

    • 我们的项目没有jest.config.js
    【解决方案3】:
    "collectCoverage": false
    

    jest.config.js

    【讨论】:

    • 虽然此代码可能会回答问题,但提供有关此代码为何和/或如何回答问题的额外上下文可提高其长期价值。
    【解决方案4】:

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

    {
      "collectCoverageFrom": [
        "**/*.{js,jsx}",
        "!**/node_modules/**",
        "!**/folder-with-untested-files/**"
      ]
    }
    

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-05-31
    • 2017-11-01
    • 1970-01-01
    • 2018-09-10
    • 2020-01-07
    • 2018-06-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多