2016-08-21 24 views
5

Używam Angular 2 z TypeScript. Stworzyłem ten projekt za pomocą narzędzia Angular CLI i próbując uruchomić testcases wewnątrz - "app.component.spec.ts" za pomocą polecenia - "karma start". Ta próbka jest generowana przez sam Angular CLI i nie ma w niej żadnych zmian. Kiedy uruchomić testcase daje mi następujący błąd -Angularny interfejs CLI: "Nieoczekiwany import tokena" podczas wykonywania testu za pomocą karmy

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 

Czy ktoś mógłby pomóc jak rozwiązać ten problem.

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

którego IDE używasz? – TypeScripter

+1

Visual Studio Code – Raj

+2

Mam do czynienia z tym samym problemem, bez względu na to, które IDE lub terminalu. Pierwszy import zawsze wyrzuca "Uncaught SyntaxError: nieoczekiwany import tokena". – Guntram

Odpowiedz

2

Miałem ten sam błąd. Mój problem polegał na tym, że wszystkie pliki .ts w moim katalogu spec nie zostały poprawnie wykryte przez kąt-cli. Miałem problemy z konfiguracją w moim karma.conf.js. Zmieniłem następujące:

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

do

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

Następnie import został zinterpretowany poprawnie i .ts pliki mogą skompilować bez błędów ponownie stosując ng test.