Einheitentest Klickereignis in Angular

Ich versuche, meiner Angular 2-App Komponententests hinzuzufügen. In einer meiner Komponenten gibt es eine Schaltfläche mit einem(click) Handler. Wenn der Benutzer auf die Schaltfläche klickt, wird eine Funktion aufgerufen, die im @ definiert is.ts class Datei. Diese Funktion gibt im Fenster console.log eine Meldung aus, dass die Schaltfläche gedrückt wurde. Mein aktueller Testcode testet zum Drucken desconsole.log Botschaft

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, wennonEditButtonClick wird genannt; Ich will das auch testenonEditButtonClick wird aufgerufen, wenn der Benutzer auf die in der HTML-Datei der Komponente definierte Bearbeitungsschaltfläche klickt. Wie kann ich das machen

Antworten auf die Frage(8)

Ihre Antwort auf die Frage