Ich versuche, meiner Angular 2-App Komponententests hinzuzufügen. In einer meiner Komponenten befindet sich eine Schaltfläche mit einem (click)
Handler. Wenn der Benutzer auf die Schaltfläche klickt, wird eine Funktion aufgerufen, die in der .ts
Klassendatei definiert ist . Diese Funktion gibt im Fenster console.log eine Meldung aus, dass die Schaltfläche gedrückt wurde. Mein aktueller Testcode testet zum Drucken der console.log
Nachricht:
describe('Component: ComponentToBeTested', () => {
var component: ComponentToBeTested;
beforeEach(() => {
component = new ComponentToBeTested();
spyOn(console, 'log');
});
it('should call onEditButtonClick() and print console.log', () => {
component.onEditButtonClick();
expect(console.log).toHaveBeenCalledWith('Edit button has been clicked!);
});
});
Dies testet jedoch nur die Controller-Klasse, nicht den HTML-Code. Ich möchte nicht nur testen, ob die Protokollierung erfolgt, wenn sie onEditButtonClick
aufgerufen wird. Ich möchte auch testen, onEditButtonClick
was aufgerufen wird, wenn der Benutzer auf die in der HTML-Datei der Komponente definierte Schaltfläche zum Bearbeiten klickt. Wie kann ich das machen?