我有一个基本的Angular/Typescript项目,有12个基本的单元测试,运行得很好。现在我想获得这些测试的覆盖率。我尝试了各种方法,但都没有奏效,所以我决定从karma-coverage开始,并在这里寻求帮助。:-)
目前,当我运行karma时,我会收到如下所示的每个源文件的错误消息:
Failed to parse file: C:/Users/FRBA/Documents/MyProject/src/app/nav/new-panel/new-panel.component.ts
07 07 2017 07:54:35.832:ERROR [preprocessor.coverage]: Line 1: Unexpected token
at C:/Users/FRBA/Documents/MyProject/src/app/nav/new-panel/new-panel.component.ts我的karma.conf.js看起来像这样:
var path = require('path');
module.exports = function (config) {
config.set({
files: [
'src/app/**/*.ts',
'test/app/**/*.ts'
],
basePath: '',
frameworks: ['jasmine', '@angular/cli'],
plugins: [
require('karma-jasmine'),
require('karma-chrome-launcher'),
require('karma-ie-launcher'),
require('karma-jasmine-html-reporter'),
require('karma-coverage'),
require('@angular/cli/plugins/karma')
],
client: {
clearContext: false
},
angularCli: {
environment: 'dev'
},
reporters: ['progress', 'kjhtml', 'coverage'],
preprocessors: {
'src/app/**/*.ts': ['coverage']
},
coverageReporter: {
type : 'html',
dir : 'coverage/'
},
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: true,
browsers: ['Chrome', 'IE'],
singleRun: false
});
};正如我所说的,我已经尝试了各种方法- karma-coverage,karma -coverage-report,karma-typescript,等等,我总是会遇到各种各样的问题(karma生成空报告,karma在"10%构建模块“行之后停止执行,等等),所以我似乎做了一些根本错误的事情。任何额外的指针或教程,向karma (和Typescript)新手解释这一点,将不胜感激。非常感谢!
发布于 2019-08-01 08:07:37
正如configuration下的karma-typescript文档中所提到的,您需要添加karma-typescript作为预处理器。如果您正在测试TypeScript文件(我假设您是从.ts扩展中判断出来的),那么您需要将它们转换为JavaScript,以便下游处理器能够解析它们。意外令牌错误可能引用了仅在TypeScript中有效的令牌。
https://stackoverflow.com/questions/44963608
复制相似问题