definiert sind Ich verwende Enzym, um meine reagierenden Komponenten zu testen. Ich habe eine staatenlose Komponente, die eine innere Funktion hat. Wie kann ich diese innere Funktion anrufen und testen?Wie innere Funktionen zu testen, die auf zustandslosen Komponenten in Reaktion mit Enzym
Hier ist meine Komponente:
const Btn = (props) => {
const types = ['link', 'plainLink', 'primary', 'secondary', 'danger', 'info'];
const handleClick = (event) => {
event.preventDefault();
props.onClick(event);
};
return (
<button onClick={handleClick} className={classes}>
<span>{props.children}</span>
</button>
);
};
ich folgendes versucht haben, aber einen Fehler zu sagen: Typeerror: undefined ist kein Konstruktor
const btnComp = shallow(<Btn />);
btnComp.instance().handleClick();
Welche Zeile wirft den 'TypeError'? die 'shallow' oder die' instance() '? –
Die Zeile instance() – Ian
Im Allgemeinen testen Sie keine privaten Funktionen. In diesem speziellen Fall solltest du einen Klick auf deinen Button machen und überprüfen, ob er getan hat, was er hätte tun sollen. –