Testen Sie ob die Funktion aufgerufen wird zu reagieren und Enzym
Ich versuche zum testen der Methoden in meine reagieren Komponente. Es wird aufgerufen, nachdem ein button klicken, damit ich die simulation mit Enzym
it('clone should call handleCloneClick when clicked', () => {
const cloneButton = wrapper.find('#clone-btn');
cloneButton.simulate('click');
});
Meine Komponente die Methode ist hier:
_handleCloneClick(event) {
event.preventDefault();
event.stopPropagation();
this.props.handleClone(this.props.user.id);
}
Den _handleCloneClick wird aufgerufen, wenn der Benutzer auf die Schaltfläche klickt, das ist in der simulation wie kann ich mich über die Tests, die seine wurde erfolgreich aufgerufen?
InformationsquelleAutor Jake | 2016-11-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es zwei Möglichkeiten, entweder Sie sollten ausspionieren
_handleCloneClick
von Bauteil-Prototypen, bevor Sie Rendern der Komponente:- Und im test:
Oder Sie können versuchen, einen Spion nach dem Rendern der Komponente und rufen Sie
wrapper.update()
danach:spy
im inneren erwarten? seine nicht deklarierten überall obwohl???Kuck mal hier sinonjs.org/docs
Sie sollten sich bewusst sein, dass, wenn Sie hinzufügen ein Spion der Prototyp es wird sich ändern, das Verhalten für jeden folgenden test.
Streng genommen sollte Sie nicht testen privater Methoden. Sie sollten die Bespitzelung der
handleClone
prop zu testen, was man sich erwartet.Ich bekomme die folgende Fehlermeldung, wenn ich versuche, dieses "erwarten(Scherz.fn())[.nicht].toHaveBeenCalled() Scherz.fn () - Wert, muss ein mock-Funktion oder Spion. Empfangen: Funktion: Funktion [proxy]"
InformationsquelleAutor Alexandr Lazarev