Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 角度CLI:“;意外令牌导入“;在使用业力测试执行时_Angular_Typescript_Karma Runner_Karma Jasmine_Angular Cli - Fatal编程技术网

Angular 角度CLI:“;意外令牌导入“;在使用业力测试执行时

Angular 角度CLI:“;意外令牌导入“;在使用业力测试执行时,angular,typescript,karma-runner,karma-jasmine,angular-cli,Angular,Typescript,Karma Runner,Karma Jasmine,Angular Cli,我正在使用Angular 2和TypeScript。我使用Angular CLI工具创建了这个项目,并尝试使用命令“karma start”在“app.component.spec.ts”中运行测试用例。此测试用例由Angular CLI本身生成,其中没有任何更改。 当我运行testcase时,它会给出以下错误- C:\Projects\Angular2\TestProject>karma start 21 08 2016 16:18:34.167:WARN [karma]: No cap

我正在使用Angular 2和TypeScript。我使用Angular CLI工具创建了这个项目,并尝试使用命令“karma start”在“app.component.spec.ts”中运行测试用例。此测试用例由Angular CLI本身生成,其中没有任何更改。 当我运行testcase时,它会给出以下错误-

C:\Projects\Angular2\TestProject>karma start
21 08 2016 16:18:34.167:WARN [karma]: No captured browser, open http://localhost:9876/
21 08 2016 16:18:34.178:INFO [karma]: Karma v0.13.22 server started at http://localhost:9876/
21 08 2016 16:18:34.205:INFO [launcher]: Starting browser Chrome
21 08 2016 16:18:36.677:INFO [Chrome 52.0.2743 (Windows 7 0.0.0)]: Connected on socket /#u3qiejjLaOGa5HdGAAAA with id 54026183
Chrome 52.0.2743 (Windows 7 0.0.0) ERROR
  Uncaught SyntaxError: Unexpected token import
  at C:/Projects/Angular2/TestProject/src/app/app.component.spec.ts:5
有人能帮我解决这个问题吗

app.component.spec.ts-

/* tslint:disable:no-unused-variable */
/// <reference path="../../typings/globals/jasmine/index.d.ts" />

import { addProviders, async, inject } from '@angular/core/testing';
import { AppComponent } from './app.component';

describe('App: TestProject', () => {
  beforeEach(() => {
    addProviders([AppComponent]);
  });

  it('should create the app',
    inject([AppComponent], (app: AppComponent) => {
      expect(app).toBeTruthy(); 
    }));

  it('should have as title \'app works!\'',
    inject([AppComponent], (app: AppComponent) => {
      expect(app.title).toEqual('Test Project Title');
    }));
});
/*tslint:disable:没有未使用的变量*/
/// 
从“@angular/core/testing”导入{addProviders,async,inject};
从“./app.component”导入{AppComponent};
描述('App:TestProject',()=>{
在每个之前(()=>{
addProviders([AppComponent]);
});
它('应该创建应用程序',
注入([AppComponent],(app:AppComponent)=>{
expect(app.toBeTruthy();
}));
它('应具有作为标题的'app works!\',
注入([AppComponent],(app:AppComponent)=>{
expect(app.title).toEqual(“测试项目标题”);
}));
});

要在Karma中运行typescript测试,您需要这样一个预处理器


或者您可以使用传输的“js”测试文件运行测试

我也有同样的错误。我的问题是我的
spec
目录中的所有
.ts
文件未被angular cli正确检测到。我的
karma.conf.js
中有一些配置问题。我更改了以下内容:

files: [
  { pattern: './web/spec/test.ts', watched: false }
],
preprocessors: {
  './invalid-path/to/test.ts': ['angular-cli']
},


之后,正确解释了导入,并且使用
ng test

可以再次编译
.ts
文件而不会出现错误。您使用的是哪个IDE?Visual Studio code无论是哪个IDE或终端,我都面临着相同的问题。第一个导入总是抛出“uncoughtsyntaxError:意外令牌导入”。您是否解决过此问题?我在角2决赛中也遇到了同样的问题
files: [
  { pattern: './web/spec/test.ts', watched: false }
],
preprocessors: {
  './web/spec/test.ts': ['angular-cli']
},