2015-10-02 17 views
7

Próbuję napisać mój pierwszy test jednostki Angular w TypeScript i otrzymuję następujący błąd i nie mogę znaleźć przyczyny. Jeśli ktokolwiek ma jakiś pomysł, proszę dać mi znać.Test jednostki kątowej z TypeScript: TS2304: Nie można znaleźć nazwy 'module'

TS2304: Nie można znaleźć nazwy "moduł".

kodu testu:

/// <reference path="../typings/karma-jasmine/karma-jasmine.d.ts" /> 
/// <reference path="../typings/angularjs/angular-mocks.d.ts" /> 

describe("FooTest",() => { 
    beforeEach(module("app")); 

}); 

jestem użycie TSD (kierownik Definicja maszynopis), aby zarządzać definicje maszynopis.

tsd.json

{ 
    "version": "v4", 
    "repo": "borisyankov/DefinitelyTyped", 
    "ref": "master", 
    "path": "typings", 
    "bundle": "typings/tsd.d.ts", 
    "installed": { 
    "jquery/jquery.d.ts": { 
     "commit": "ef32bff4d15782dbbabf99ecb17ba22119cc2bd2" 
    }, 
    "angularjs/angular.d.ts": { 
     "commit": "ef32bff4d15782dbbabf99ecb17ba22119cc2bd2" 
    }, 
    "karma-jasmine/karma-jasmine.d.ts": { 
     "commit": "ef32bff4d15782dbbabf99ecb17ba22119cc2bd2" 
    }, 
    "jasmine/jasmine.d.ts": { 
     "commit": "ef32bff4d15782dbbabf99ecb17ba22119cc2bd2" 
    }, 
    "angularjs/angular-mocks.d.ts": { 
     "commit": "ef32bff4d15782dbbabf99ecb17ba22119cc2bd2" 
    } 
    } 
} 

jestem użycie IntelliJ IDEA 14

Dzięki Stefan

+0

prostu nie działają na TSC że wyspecjalizoway/kpi/d.ts plik? lub zdefiniuj 'var module: any;' – YOU

+0

@ YOU przepraszam Nie rozumiem, co masz na myśli przez _just nie uruchamiaj tsc w tym pliku spec/mocks/d.ts? _ that. – stevo

Odpowiedz

0

Zgaduję:

używasz angular-mocks.d.ts ale ja nie zobacz angular-mocks.ts w dowolnym miejscu. Pliki

d.ts zawierają tylko definicje typów, a nie rzeczywistą implementację. Więc będziesz potrzebował obu.

PS: Myślę, że kątowe-mocks.ts ma tylko wersję js :)

15

Ostatnio kątowy zespół skomentował moduł globalny w skośnych mocks

//Use `angular.mock.module` instead of `module`, as `module` conflicts with commonjs. 
//declare var module: (...modules: any[]) => any; 

Aby test kompilacji trzeba użyć pełnej nazw, więc angular.mock.module

przykład:

beforeEach(function() { 
    angular.mock.module('app'); 
} 
+2

Znalazłem dokładnie ten problem, działało idealnie. Dzięki! – lwalden

+0

Pojawia się problem, w którym mówi, że kątowy nie ma własności "naśmiewać się" na nim, czy jest jakiś plik definicji, którego mi brakuje? Mam kpiąco-udawkę, która jest już na dt, nie jestem pewna, czy potrzebuję kolejnej. – Jay

+0

Mam kpiny-mocks, z ostatecznym S, czy to jest to, co masz lub kpiąco-makiety? –

5

przed:

beforeEach(function() { 
    module('app'); 
} 

po:

beforeEach(function() { 
    angular.mock.module('app'); 
} 
Powiązane problemy