2017-07-21 10 views
0

I in Angular 2. Hier einige Frage bezüglich Ihrer Tests ist vor ist mein Code-Schnipsel:Wie können mehrere Dienste innerhalb des Anbieters hinzugefügt werden, wenn Scheintests verwendet werden? : Winkel 2

app.component.spec.ts

import { KnowledgeServiceApi } from "../knowledgeapi.service"; 
import { SpeechSynthesisService } from "../speech-synthesis.service"; 

providers: [ 
    {provide: KnowledgeServiceApi, useValue: MockKnowledgeApi } 
] 

Der Fehler Ich erhalte: No provider for SpeechSynthesisService

Wenn ich versuche, dies zu tun:

providers: [ 
    {provide: KnowledgeServiceApi, SpeechSynthesisService, useValue: MockKnowledgeApi } 
] 

Noch bekomme ich Fehler. Wie soll ich diesen Fehler beheben?

Antwort

2

Wenn Sie die gleiche mock Ihr Provider Array verwenden sollte wie folgt aussehen:

providers: [ 
    { provide: KnowledgeServiceAp, useValue: MockKnowledgeApi }, 
    { provide: SpeechSynthesisService, useValue: MockKnowledgeApi } 
] 

Aber ich empfehle ein anderes wie folgt aus:

providers: [ 
    { provide: KnowledgeServiceAp, useValue: MockKnowledgeApi }, 
    { provide: SpeechSynthesisService, useValue: MockSpeechSynthesisService } 
] 
Verwandte Themen