【发布时间】: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