2016-08-21 11 views
5

TypeScriptでAngular 2を使用しています。 Angular CLIツールを使ってこのプロジェクトを作成し、 "karma start"コマンドを使って "app.component.spec.ts"の中でテストケースを実行しようとしました。このテストケースは、Angular CLI自体によって生成され、変更されていません。 私はそれは私に次のエラーを与えるテストケースを実行すると -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 

誰かがこの問題を解決する方法を助けてくださいでした。

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'); 
    })); 
}); 
+0

どのIDEを使用していますか? – TypeScripter

+1

Visual Studioコード – Raj

+2

どのIDEまたはターミナルに関係なく、私は同じ問題に直面しています。最初のインポートでは、常に「Uncaught SyntaxError:予期しないトークンのインポート」がスローされます。 – Guntram

答えて

-2

カルマでtypescriptですテストを実行するには、あなたがこのkarma-typescript-preprocessor

またはあなただけtranspiled「JSの」テストファイルを使用してテストを実行することができますようにプリプロセッサを必要とします

2

私は同じエラーがありました。私の問題は、私のspecディレクトリにあるすべてのファイル.tsが、angle-cliによって正しく検出されなかったことです。 karma.conf.jsに設定に関する問題がありました。

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

その後

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

にインポートが正しく解釈されたと .tsファイルにエラーが再び ng testを使用せずにコンパイルすることができます:私は、次のように変更しました。

関連する問題