如何排除`ng test --code-coverage`的所有*services.ts?
Posted
技术标签:
【中文标题】如何排除`ng test --code-coverage`的所有*services.ts?【英文标题】:How can I exclude all *services.ts for `ng test --code-coverage`? 【发布时间】:2019-06-16 06:04:33 【问题描述】:在我的 Angular 6 下,我正在运行以下命令来进行单元测试并生成代码覆盖率报告:
ng test --browsers=Chrome --watch=false --code-coverage
它工作正常并在覆盖文件夹中编写代码覆盖率报告。
在此我得到了所有文件和目录覆盖率报告:
但我想排除特定类型的文件:
所有具有服务前缀的文件:*.service.ts
我已经在 angular.json 中告诉过这样做:
"test":
"builder": "@angular-devkit/build-angular:karma",
"options":
"main": "src/test.ts",
"polyfills": "src/polyfills.ts",
"tsConfig": "src/tsconfig.spec.json",
"karmaConfig": "./karma.conf.js",
"codeCoverageExclude": ["src/*.service.ts"],
但这没有用
建议?
【问题讨论】:
【参考方案1】:试试这样的:
"codeCoverageExclude": [
"/**/*service*.ts"
]
【讨论】:
【参考方案2】:在您的 Test.ts 文件中,您必须编写如下:
const context = require.context('', true, /\.component.spec\.ts$/);
context.keys().map(context);
【讨论】:
以上是关于如何排除`ng test --code-coverage`的所有*services.ts?的主要内容,如果未能解决你的问题,请参考以下文章
如何在Visual Studio Test Runner中排除某些测试?