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