我收到了这个承保摘要
=============================== Coverage summary ===============================
Statements : Unknown% ( 0/0 )
Branches : Unknown% ( 0/0 )
Functions : Unknown% ( 0/0 )
Lines : Unknown% ( 0/0 )
================================================================================
我应用了Angular文档中指示的代码覆盖的更改。https:/angular.ioguidetesting#enable-code-coverag-report。
但我一直得到同样的空夏米。
我的 karma.conf.js
module.exports = function (config) {
config.set({
basePath: '',
frameworks: ['jasmine', '@angular-devkit/build-angular'],
plugins: [
require('karma-jasmine'),
require('karma-chrome-launcher'),
require('karma-jasmine-html-reporter'),
require('karma-coverage-istanbul-reporter'),
require('@angular-devkit/build-angular/plugins/karma')
],
client: {
clearContext: false // leave Jasmine Spec Runner output visible in browser
},
coverageIstanbulReporter: {
dir: require('path').join(__dirname, './coverage/singleWindow'),
reports: ['html', 'lcovonly', 'text-summary'],
fixWebpackSourcePaths: true,
thresholds: {
statements: 80,
lines: 80,
branches: 80,
functions: 80
}
},
reporters: ['progress', 'kjhtml'],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: true,
browsers: ['Chrome'],
singleRun: false,
restartOnFileChange: true,
});
}
我在使用 Angular 7 进行测试时也遇到了同样的问题。ng test
.
事实证明,Angular CLI默认禁用代码覆盖。你必须使用 ng test --code-coverage
的工作。
你可以通过添加 "codeCoverage": true
至 test
阁下 angular.json
文件。
{
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
"version": 1,
"newProjectRoot": "projects",
"projects": {
"name-of-your-app": {
"root": "",
"sourceRoot": "src",
"projectType": "application",
"architect": {
"build": {
/* ... */
},
"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",
"scripts": [],
"assets": [
"src/favicon.ico",
"src/assets"
],
"codeCoverage": true
}
}
}
}
}
}
更多信息: https:/angular.ioguidetesting#enable-code-coverage-reports。