Test - ne Peut pas résoudre tous les paramètres (ClassName)

Contexte

J'ai créé un ApiService classe pour être en mesure de traiter vos requêtes API, tout en utilisant notre propre sérialiseur + d'autres fonctionnalités.

ApiService's signature du constructeur est:

constructor(metaManager: MetaManager, connector: ApiConnectorService, eventDispatcher: EventDispatcher);
  • MetaManager est un injectable service qui se charge de l'api de méta-données.
  • ApiConnectorService est un service d'emballage Http pour ajouter nos en-têtes personnalisés et système de signature.
  • EventDispatcher est essentiellement de Symfony répartiteur d'évènement système, en caractères d'imprimerie.

Problème

Quand je test le ApiService, je fais une phase d'initialisation dans beforeEach:

beforeEach(async(() => {
    TestBed.configureTestingModule({
        imports  : [
            HttpModule
        ],
        providers: [
            ApiConnectorService,
            ApiService,
            MetaManager,
            EventDispatcher,
            OFF_LOGGER_PROVIDERS
        ]
    });
}));

et il fonctionne très bien.

Puis-je ajouter mon deuxième fichier de spécification, qui est pour ApiConnectorService, avec cette beforeEach:

beforeEach(async(() => {
    TestBed.configureTestingModule({
        imports  : [HttpModule],
        providers: [
            ApiConnectorService,
            OFF_LOGGER_PROVIDERS,
            AuthenticationManager,
            EventDispatcher
        ]
    });
}));

Et tous les tests échoue avec ce message d'erreur:

Erreur: ne Peut pas résoudre tous les paramètres pour ApiService: (MetaManager, ?, EventDispatcher).

  • Si je supprime api-connector-service.spec.ts (ApiConnectorService's dans le fichier de spécification) de mon chargés des tests, ApiService's des tests de réussir.
  • Si je supprime api-service.spec.ts (ApiService's dans le fichier de spécification) de mon chargés des tests, ApiConnectorService's des tests de réussir.

Pourquoi j'ai cette erreur? Il semble que le contexte entre deux de mes fichiers sont en conflit et je ne sais pas pourquoi et comment résoudre ce problème.

InformationsquelleAutor Supamiu | 2016-09-13