Unit-Test Klickereignis in Angular

Ich versuche zum hinzufügen von unit-tests, um meine Winkel 2 app. 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 definiert ist, in der .ts class-Datei. Diese Funktion druckt eine Meldung in der Konsole.log-Fenster mit der Meldung, dass die Taste gedrückt wurde. Meine aktuelle Test-code-tests für den Druck 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!);
    });
});

Ist dies jedoch nur tests der controller-Klasse, nicht das HTML. Ich will nicht nur testen, ob die Protokollierung geschieht, wenn onEditButtonClick genannt wird; ich will auch testen, dass onEditButtonClick wird aufgerufen, wenn der Benutzer auf die Schaltfläche Bearbeiten in der Komponente definiert die HTML-Datei. Wie kann ich das tun?

InformationsquelleAutor der Frage Aiguo | 2016-10-17

Schreibe einen Kommentar