2017-03-12 4 views
1

Aus einer Reihe von Gründen möchte ich in der Lage sein, einige Http-Dienste (nicht via Mock) mit Jasmine/Karma-Unterstützung von Angualar zu testen.Testen von Angular Http-Diensten über Jasmine/Karma

Wenn ich den folgenden Code verwenden

beforeEach(() => { 
    TestBed.configureTestingModule({ 
     providers: [], 
     imports: [ 
     HttpModule 
     ] 
    }); 
    ....... 

Tests fehlschlagen mit der folgenden Meldung auf Karma-Browser gedruckt

Error: No provider for Http! 
Error: DI Error 
    at NoProviderError.ZoneAwareError (http://localhost:9876/base/src/polyfills.ts?1adeefc4ae1dd1c3f12dac836469652bbacab66c:2054:33) 
    at NoProviderError.BaseError [as constructor] (http://localhost:9876/base/src/test.ts?5cfdb8c92873c902e956a345863bab75c6324f3e:23292:16) 
    at NoProviderError.AbstractProviderError [as constructor] (http://localhost:9876/base/src/test.ts?5cfdb8c92873c902e956a345863bab75c6324f3e:47503:16) 
    at new NoProviderError (http://localhost:9876/base/src/test.ts?5cfdb8c92873c902e956a345863bab75c6324f3e:47565:16) 
    at ReflectiveInjector_._throwOrNull (http://localhost:9876/base/src/test.ts?5cfdb8c92873c902e956a345863bab75c6324f3e:63961:19) 
....... 

Jeder Vorschlag, wie man es beheben sehr

würde geschätzt

Antwort

1

Möglicherweise müssen Sie den Anbieter für HTTP konfigurieren. Zum Beispiel:

TestBed.configureTestingModule({ 
    providers: [ { provide: Http, useClass: Http } ], 

Wenn das nicht den Trick macht, teilen Sie bitte Ihre Importe und alle früheren Code in der Testspezifikation.

Verwandte Themen