Ian*_*Ian 7 javascript testing function reactjs enzyme
我用酶来测试我的反应成分.我有一个具有内部函数的无状态组件.我怎样才能调用并测试内部函数?
这是我的组件:
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>
);
};
Run Code Online (Sandbox Code Playgroud)
我尝试了以下内容,但得到一个错误说:TypeError:undefined不是构造函数
const btnComp = shallow(<Btn />);
btnComp.instance().handleClick();
Run Code Online (Sandbox Code Playgroud)
我通常通过sinon.spy
为事件设置 a 来测试此功能:
const click = sinon.spy();
const btnComp = shallow(<Btn onClick={click} />);
btnComp.find('button').simulate('click');
expect(click.called).to.equal(true);
Run Code Online (Sandbox Code Playgroud)
现在,您知道内部函数确实调用了props.onClick
事件,这是其工作中最重要的部分。
归档时间: |
|
查看次数: |
1327 次 |
最近记录: |