Angular · Middle · Frage 69 von 75
Wie testet man eine OnPush-Komponente nach Änderung eines Signal-Inputs?
fixture.componentRef.setInput('user', mockUser);
fixture.detectChanges();- 1
component.user = mockUserzuweisen, danndetectChanges() - 2
fixture.componentRef.setInput(), danndetectChanges() - 3Gar nicht: Signal-Inputs sind in Tests nicht setzbar
Antwort zeigen
Richtige Antwort: fixture.componentRef.setInput(), dann detectChanges()
Erklärung
Signal-Inputs sind aus der Klasse schreibgeschützt, und setInput geht denselben Weg wie ein Binding im Elternteil, einschließlich der OnPush-Markierung.