2017-10-02 2 views
0

Je dois suivre test (en utilisant le karma et le jasmin) note que j'appelle initTestEnvironment ailleurs, mais j'ai vérifié qu'il est appelé (avec un console.log).angulaire 4 test unitaire: Impossible de lire la propriété 'injecteur' de null

Chaque fois que je le lance je reçois: TypeError: Cannot read property 'injector' of null

Comme vous pouvez le voir MyService est juste une classe vide pour démontrer que l'erreur se produit au-dessus de tous les services que j'ai essayé d'injecter.

@Injectable() 
export class MyService { 

} 

describe('some tests',() => { 

    beforeEach(() => { 

     TestBed.configureTestingModule({ 
      imports: [ 
       HttpModule, 
       HttpClientModule 
      ], 
      providers: [ 

       MyService 
      ] 
     }); 
    }); 

    it('just a test',() => { 

     TestBed.get(MyService); // this causes the error 
     expect(true).toBeTruthy(); 
    }); 
}); 

Une idée de ce qui pourrait causer ce problème et comment le résoudre?

Je n'arrive pas à voir mon problème, en particulier de nombreux didacticiels là-bas le font exactement de la même manière.

+0

Impossible de le reproduire https://plnkr.co/edit/G3ihIYvuQ8qFXpUlsBlw?p=preview – yurzui

Répondre

0

ok, comme redouté et attendu au moins après yurzuis commentaire: Tout allait bien avec le test lui-même. Mais j'ai un repo mono avec un paquet de portée et les tests s'exécutent à partir du projet principal (et non à partir des paquets scoped eux-mêmes) et malheureusement il y avait des incompatibilités de versions entre les paquets angulaires qui ont conduit à ces problèmes.

Je dois donc améliorer ma configuration de test pour éviter ce problème dans le futur.