我有一个基本的Angular / Typescript项目,有12个基本的单元测试,运行得很好。现在我想获得这些测试的报道。我尝试了各种方法,但没有一种方法有效,所以我决定从业力覆盖开始并在这里寻求帮助。 : - )
目前,当我运行业力时,我收到每个源文件的错误消息,如下所示:
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
});
};
就像我说的那样,我已经尝试了各种方法 - 业力报道,业力覆盖 - 伊斯坦布尔 - 记者,业力 - 打字稿等等,我总是遇到各种问题(业力生成空报告,业力停止到在" 10%构建模块"行之后执行,依此类推),所以我似乎在做一些根本错误的事情。任何额外的指针或教程,以解释这个业力(和Typescript)新手将不胜感激。非常感谢!
答案 0 :(得分:0)
如configuration下的karma-typescript
文档中所述,您需要添加karma-typescript
作为预处理器。如果要测试TypeScript文件(我假设您是从.ts扩展名判断),则需要将它们转换为JavaScript,以便下游处理器能够解析它们。意外的令牌错误可能引用了仅在TypeScript中有效的令牌。