我正试图在三个盒子中的第一个上点击一下。
我的反应代码如下所示
const Boxes = (props) => {
return (
<div className="container">
<div onClick={props.showMessage} className="box">One</div>
<div onClick={props.showMessage} className="box">Two</div>
<div onClick={props.showMessage} className="box">Three</div>
</div>
);
}
然后我的jest代码看起来像这样
it("shows a message if Box One is selected", () => {
let wrapper = shallow(
<Boxes
{...props}
/>
);
wrapper.find('.box').simulate('click');
expect(wrapper.contains('Box One Clicked')).toEqual(true);
});
这给了我以下错误消息
方法“模拟”仅用于在单个节点上运行。 3发现 代替。
然后,当我尝试以下操作时,它也无法正常工作,测试失败。
wrapper.find('.box').first().simulate('click');
expect(wrapper.contains('Box One Clicked')).toEqual(true);
答案 0 :(得分:2)
有多个.box
项,你必须选择其中一项,比如第一项:
wrapper.find('.box').at(0).simulate('click');