我有一个正在用Enzyme测试的组件,该组件如下所示:
<RichTextEditor name="name" onChange={[Function]} value="<p>what</p>" focus={false}>
<div className="rich-text-editor">
<div className="btn-group" role="group">
<StyleButton active={false} icon="fa-list-ul" label="UL" onToggle={[Function]} style="unordered-list-item">
// ...
我试图像这样检测那里的StyleButton组件的存在:
mount(<RichTextEditor />).find('StyleButton[label="UL"]')
但是没有组件返回。我只能通过搜索字符串“ StyleButton”来找到所有的StyleButtons,但找不到按属性查找的方法,包括仅使用属性选择器即可。
我粘贴的第一个代码块来自安装RichTextEditor的调试输出,因此StyleButton肯定在那里。
有任何想法吗?
谢谢。
最佳答案
在文档中,没有将组件名称与props混合使用的选项:
CSS选择器
组件构造器
组件显示名称
对象属性选择器
您可以使用findWhere:
wrapper.findWhere(n => n.name() === 'StyleButton' && n.prop('label') === 'UL')