Test Reagieren Komponente Methode wird aufrufende Funktion übergeben, die als requisite
Ich testen wollen, die beim Aufruf einer Methode von einem Reagieren, Komponente, trigger, eine Funktion übergeben, um die Komponente als Requisiten.
Die Methode ist so etwas wie dieses:
customMethod() {
//Do something
this.props.trackEvent({
category: 'eventCategory',
action: 'eventAction',
label: 'eventAction',
});
//Do something else
}
Kann die Methode aufgerufen werden, die auf verschiedene Arten, so möchte ich nur um einen generischen test: wenn customMethod genannt wird, auslösen sollte, dies.Requisiten.trackEvent mit Daten.
Gibt es eine Möglichkeit, löst ein Aufruf der Methode mit jest und/oder Enzym? Ich habe gelesen, über etwas wie das zu tun:
const wrapper = shallow(<AdPage {...baseProps} />);
wrapper.instance().customMethod();
Aber es funktioniert nicht... irgendwelche Ideen.
Ich bin ziemlich neu in der Erprobung, also vielleicht sollte ich eine andere Annäherung an diese Art von tests?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vorausgesetzt, Ihr customMethod ist eine Komponente Methode, ich würde es testen, wie diese:
(1) Gefälschte Ihre trackEvent prop als
jest.fn()
beim erstellen der wrapper.(2) Rufen Sie Ihren customMethod mit
wrapper.instance().customMethod();
(3) Sicherzustellen Requisiten.trackEvent zu haveBeenCalledWith das argument, die Sie erwähnt.
Als Beispiel: