angulaire 4 tests unitaires erreur " TypeError: ctor n'est pas un constructeur`
Je suis en train de tester mon trajet de résolution et lors du test j'ai eu TypeError: ctor is not a constructor
et aucune idée de pourquoi ça arrive, tout tapuscrit moment de la compilation sans erreur.
TypeError: ctor is not a constructor
TypeError: ctor is not a constructor
at _createClass (http://localhost:9877/_karma_webpack_/vendor.bundle.js:42355:26)
at _createProviderInstance$1 (http://localhost:9877/_karma_webpack_/vendor.bundle.js:42330:26)
at resolveNgModuleDep (http://localhost:9877/_karma_webpack_/vendor.bundle.js:42315:17)
at _createClass (http://localhost:9877/_karma_webpack_/vendor.bundle.js:42362:26)
at _createProviderInstance$1 (http://localhost:9877/_karma_webpack_/vendor.bundle.js:42330:26)
at resolveNgModuleDep (http://localhost:9877/_karma_webpack_/vendor.bundle.js:42315:17)
at NgModuleRef_.webpackJsonp../node_modules/@angular/core/@angular/core.es5.js.NgModuleRef_.get (http://localhost:9877/_karma_webpack_/vendor.bundle.js:43401:16)
at TestBed.webpackJsonp../node_modules/@angular/core/@angular/core/testing.es5.js.TestBed.get (http://localhost:9877/_karma_webpack_/vendor.bundle.js:48412:47)
at http://localhost:9877/_karma_webpack_/vendor.bundle.js:48418:61
at Array.map (native)
- êtes-vous à l'aide de ng2 bootstrap
- oui. mais je suis en train de tester voie de résolution. c'est que d'effectuer mon trajet de résolution même il n'est pas en html ou en css
Vous devez vous connecter pour publier un commentaire.
Cela peut être une erreur dans les fournisseurs de déclarations.
Lorsque vous essayez de se moquer d'un fournisseur et de l'utilisation useClass au lieu de useValue l'erreur "TypeError: ctor n'est pas un constructeur" est déclenché.
Voici un exemple qui déclenche l'erreur :
La déclaration correcte est :
{ provide: httpTestingControllerToken, useClass: HttpTestingController },
, où j'ai déclaréconst httpTestingControllerToken = new InjectionToken<HttpTestingController>('httpTestingControllerToken');
... c'est lors de la tentative de remplacer l'obsolèteTestBed.get
. Des idées?J'ai eu exactement le même message lors de la construction de mon application avec AOT.
Mon problème n'était pas lié à des fournisseurs de @abahet suggéré.
C'est parce que j'ai la configuration d'une nouvelle bibliothèque qui n'était pas AOT conforme (et n'ont pas de fournisseur). La bibliothèque en question avait pour exportation (je parle de la Machine à l'exportation, et non celle de Angulaire module) ce qui a été importé dans le module (dans ce cas, un composant et d'un tuyau).
J'ai eu ce problème avec Angulaire Universelle en combinaison avec Firebase dans un Firebase de départ Universelle en projet. J'avais presque perdu l'espoir que tout le potentiel de correctifs de débordement de pile na pas aider. J'ai donc fait la suivante:
Je n'ai jamais trouvé ce paquet a causé une erreur, mais une approche de le savoir est de créer un MockAppModule où vous retirez les modules un par un. Finalement, vous trouverez l'un avec le problème. Mais dans mon cas, j'ai eu de la chance, je suppose en raison de l'un des buggé paquets s'est mis à jour ou quelque chose.
Troisième possibilité, pour vous, j'ai eu un module contenant d'autres modules et n'a pas d'exportation (Tapuscrit parlant), les autres modules.
Moi aussi j'avais ce problème avec AOT activé.J'ai ajouté un nouveau fichier de service. J'ai redémarré le compilateur et le problème est résolu.