Angular CLI:使用业力测试执行时的"意外的令牌导入"

Raj*_*Raj 5 typescript karma-runner karma-jasmine angular-cli angular

我正在使用带有TypeScript的Angular 2.我使用Angular CLI工具创建了这个项目,并尝试使用命令 - "karma start"运行里面的测试用例 - "app.component.spec.ts".此测试用例由Angular CLI本身生成,并且没有变化.当我运行测试用例时,它会给我以下错误 -

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
Run Code Online (Sandbox Code Playgroud)

请问某人如何解决此问题.

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');
    }));
});
Run Code Online (Sandbox Code Playgroud)

eki*_*mpl -2

要在 Karma 中运行打字稿测试,您需要一个像这样的预处理器karma-typescript-preprocessor

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