7
我使用酶來測試我的反應組分。我有一個具有內部函數的無狀態組件。我如何調用和測試內部函數?如何使用酶反應測試無狀態組分上定義的內部功能
這裏是我的組件:
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>
);
};
我試過以下,但得到一個錯誤說:類型錯誤:未定義是不是構造
const btnComp = shallow(<Btn />);
btnComp.instance().handleClick();
哪一行會拋出'TypeError'? '淺層'或'instance()'? –
實例()行 – Ian
通常您不會測試私有函數。在這個特定情況下,你應該點擊按鈕並檢查它是否做了它應該做的事情。 –