Ich habe MainComponent
, die ChildComponentA
als @ViewChild
verwendet. MainComponent
ruft eine Methode unter ChildComponentA
auf.OverrideComponent mit TestBed
Ich möchte eine Einheit Testfall Mocking ChildComponentA
schreiben. Wie kann ich das mit TestBed
(in Angular 2 RC5) tun?
Bevor ich verwendet habe overrideDirective(MainComponentName, ChildComponentA, MockChildComponentA);
Gibt es ein Äquivalent dazu mit TestBed
?
Ich versuchte
TestBed.overrideComponent(ChildComponentA,{
set: {
template: '<div></div>'
}
});
verwendet, die nur die Vorlage setzt, aber ich möchte auch die Methoden in der Komponente verspotten.
Vielen Dank für Ihre Antwort. Ich habe das TestBed.configureTestingModule mit der mockComponent konfiguriert, wie Sie erwähnten, aber nicht überschreibenModule und funktioniert noch. Ich habe das MyModule nicht importiert. – Kashyap
Ja, das Überschreibungsbeispiel war nur für den Fall, dass Sie die Produktion ngModule in Ihren Tests wiederverwenden möchten. –
Ich habe einen ähnlichen Fall, aber ich teste einen Dienst, der eine Komponente verwendet. Ich möchte diese Komponente vortäuschen. Ich habe das versucht, aber es funktioniert nicht. Wenn ich die Tests ausführe, bekomme ich "Fehler: Keine Komponentenfabrik für XComponent gefunden". Irgendwelche Ideen? – jpgrassi