我有一个正在用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')

07-26 01:35