In den Angular Tutorials haben sie ein Beispiel für eine HeroesComponent
mit einem Kind HeroesListComponent
.Wie spionOn Kind Komponenten in Angular?
Die HeroesListComponent
verwendet eine HeroesService
zu getHeroes()
.
Um spyOn
getHeroes()
innen heroes-list.component.spec.ts
können wir
spyOn(fixture.debugElement.componentInstance.heroesService, 'getHeroes').and.returnValue(Promise.resolve([]))
Meine Frage ist: Wenn ich innerhalb von HeroesComponent
Spec-Datei war - heroes.component.spec.ts
kann ich spyOn
das Kind HeroesListComponent
getHeroes()
durch so etwas wie dies zu tun:
spyOn(fixture.debugElement.componentInstance.heroesListComponent.heroesService, 'getHeroes').and.returnValue(Promise.resolve([]))
Offensichtlich hat das nicht funktioniert, also frage ich, ob mir jemand mit einer Lösung helfen kann.
Ich möchte dies tun, weil ich testen möchte, ob meine <hero-list>
richtig geladen, wenn ich HeroesComponent
öffnen. Dies kann sich wiederholen, wie ich bereits einen Test habe, um sicherzustellen, HeroesListComponent
funktioniert, aber ich denke, es ist immer noch ein wichtiger Test, weil ich wirklich sicherstellen möchte, dass meine HeroesComponent
ordnungsgemäß geladen und alle Kind-Komponenten zu.
Ich habe auch versucht, die gesamte HeroesService
innerhalb von HeroesComponent
, anstelle von spyOn
zu verspotten, aber ich kann nicht bekommen, dass diese Syntax auch nicht funktioniert. Ich kann nicht HeroesListComponent
sagen, um das Scheinobjekt zu verwenden, wenn ich innen bin heroes.component.spec.ts
Danke!