我为所有控制器和服务文件编写了Nest.js项目的测试(这些文件遵循通常的myApp.service.ts | myApp.controller.ts命名约定)。
但是,当我尝试用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"
}我尝试过的事情:
向files.
collectCoverageFrom添加了新的、更具体的规则,如**/*.service.ts、**/*.controller.ts以及指向特定
到目前为止,一切都不起作用。
发布于 2020-12-15 07:56:02
我通过删除node_modlues、dist和package-lock.json以及用yarn重新安装依赖项来解决这个问题。对npm做同样的事情也不起作用。
还是不太清楚原因是什么。
发布于 2020-12-17 13:31:25
这里也有同样的问题。我被clearing jest cache (--clearcache)解决了。
https://stackoverflow.com/questions/65292413
复制相似问题