【问题标题】:Jest --coverage ignores Nest.js controller and service filesJest --coverage 忽略 Nestjs 控制器和服务文件
【发布时间】:2020-12-17 21:31:25
【问题描述】:

我已经为所有控制器和服务文件(遵循通常的 myApp.service.ts | myApp.controller.ts 命名约定)编写了 Nest.js 项目的测试。

我可以成功运行文件的所有测试,但是,当我尝试使用 jest --coverage 生成覆盖率报告时,控制器和服务文件被忽略(无论它们是否被测试),而所有其他文件都包括在内,包括遵循类似命名约定的文件,即myApp.module.ts

我的 Jest 配置:

{
  "moduleFileExtensions": [
    "js",
    "json",
    "ts"
],
  "rootDir": "src",
  "testRegex": ".*\\.spec\\.ts$",
  "transform": {
    "^.+\\.(t|j)s$": "ts-jest"
},
  "collectCoverageFrom": [
    "**/*.(t|j)s"
],
  "coverageDirectory": "../coverage",
  "testEnvironment": "node"
}

我尝试过的事情:

  • 正在删除 *.spec.ts 文件。
  • 将排除规则添加到collectCoverageFrom 以确保正在加载配置(确实如此)。
  • collectCoverageFrom 添加新的、更具体的规则,例如**/*.service.ts**/*.controller.ts 以及特定文件的绝对路径。
  • 将相同的规则添加到forceCoverageMatch

到目前为止没有任何效果。

【问题讨论】:

    标签: jestjs code-coverage nestjs


    【解决方案1】:

    同样的问题。我通过clearing jest cache (--clearcache)解决了。

    【讨论】:

      【解决方案2】:

      我通过删除node_modluesdistpackage-lock.json 解决了这个问题,并使用yarn 重新安装了依赖项。对npm 做同样的事情没有用。

      还是不太清楚是什么原因。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-02-03
        • 2017-11-13
        • 2019-08-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多