/ / Test unitaire angulaire avec TypeScript: TS2304: Impossible de trouver le nom 'module' - angularjs, intellij-idea, typescript

Test unitaire angulaire avec TypeScript: TS2304: Impossible de trouver le nom 'module' - angularjs, intellij-idea, typescript

J'essaie d'écrire mon premier test d'unité angulaire dans TypeScript et je reçois l'erreur suivante, mais je ne parviens pas à savoir pourquoi. Si quelqu'un a une idée s'il vous plaît faites le moi savoir.

TS2304: Impossible de trouver le nom "module".

code de test:

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

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

});

Je me sers TSD (TypeScript Definition manager) pour gérer mes définitions TypeScript.

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"
}
}
}

J'utilise IntelliJ IDEA 14

Merci Stefan

Réponses:

15 pour la réponse № 1

Récemment, l'équipe angulaire a commenté le module global dans angular-mock

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

Afin de compiler votre test, vous devez utiliser un espace de noms complet, donc angular.mock.module

Exemple:

beforeEach(function () {
angular.mock.module("app");
}

6 pour la réponse № 2

avant:

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

après:

beforeEach(function () {
angular.mock.module("app");
}

0 pour la réponse № 3

Ma conjecture:

vous utilisez angular-mocks.d.ts mais je ne vois pas angular-mocks.ts nulle part.

d.ts les fichiers ne contiennent que les définitions de type, pas l'implémentation réelle. Donc vous aurez besoin des deux.

PS: Je pense que angular-mocks.ts n’a que la version .js :)