angularjs - Angular-Unit-Test mit TypeScript: TS2304: Name 'module' kann nicht gefunden werden
Ich versuche meinen ersten Angular-Unit-Test in TypeScript zu schreiben und erhalte folgenden Fehler und kann nicht herausfinden, warum. Wenn jemand eine Idee hat, bitte lassen Sie es mich wissen.
TS2304: Name 'module' kann nicht gefunden werden.
Testcode:
/// <reference path="../typings/karma-jasmine/karma-jasmine.d.ts" />
/// <reference path="../typings/angularjs/angular-mocks.d.ts" />
describe("FooTest", () => {
beforeEach(module("app"));
});
Ich benutze TSD (TypeScript Definition Manager), um meine TypeScript-Definitionen zu verwalten.
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"
}
}
}
Ich benutze IntelliJ IDEA 14
Danke, Stefan
Antwort #1
Kürzlich hat das Angular-Team das globale Modul in angular-mocks kommentiert
//Use `angular.mock.module` instead of `module`, as `module` conflicts with commonjs.
//declare var module: (...modules: any[]) => any;
Um Ihren Test zum Kompilieren zu bringen, müssen Sie den vollständigen Namespace verwenden, also angular.mock.module
Beispiel :
beforeEach(function () {
angular.mock.module('app');
}
Antwort #2
vor :
beforeEach(function () {
module('app');
}
nach :
beforeEach(function () {
angular.mock.module('app');
}
