2017-10-02 4 views
0

Ich muss folgenden Test (mit Karma und Jasmin) beachten Sie, dass ich initTestEnvironment an anderer Stelle aufrufen, aber ich verifiziert es ruft (mit einer console.log).eckig 4-Unit-Test: Kann Eigenschaft "Injektor" von Null nicht lesen

Immer, wenn ich es laufen erhalte ich: TypeError: Cannot read property 'injector' of null

Wie Sie sehen können MyService nur eine leere Klasse ist, zu zeigen, dass der Fehler, der oben mit jedem Service passiert Ich habe versucht, zu injizieren.

@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(); 
    }); 
}); 

Irgendeine Idee, was dieses Problem verursachen könnte und wie man es löst?

Ich sehe mein Problem nicht, vor allem viele Tutorial da draußen tun es genau so.

+0

Kann es nicht reproduzieren https://plnkr.co/edit/G3ihIYvuQ8qFXpUlsBlw?p=preview – yurzui

Antwort

0

ok, wie befürchtet und erwartet zumindest nach yurzuis Kommentar: Mit dem Test war alles in Ordnung.

Aber ich habe ein Mono-Repo mit einem Bereichspakete und die Tests laufen aus dem Hauptprojekt (und nicht aus dem Bereich Pakete selbst) und leider gab es Versionsabweichungen zwischen den eckigen Paketen, die zu diesen Problemen führen.

Also muss ich meine Testkonfiguration verbessern, um diese Probleme in der Zukunft zu vermeiden.

Verwandte Themen