【问题标题】:how to use wrapper.find to find the text of div' div element如何使用 wrapper.find 查找 div' div 元素的文本
【发布时间】:2021-07-14 14:55:03
【问题描述】:
我正在尝试编写酶测试并希望访问以下 div 的文本。
<div className="toolbar__contentInformation">
<div className="text smallfont ellipsis">Alex</div>
<div className="text smallfont ellipsis">12</div>
</div>
test.js
let component = React.createElement(App});
let wrapper = enzyme.enzyme.mount(component);
let val = wrapper.find('div.toolbar__contentInformation') //how to access text = Alex ???
【问题讨论】:
标签:
javascript
reactjs
jestjs
react-hooks
enzyme
【解决方案1】:
有几种方法可以实现您的目标。
let val = wrapper.find('div.toolbar__contentInformation').chidlren();
expect(wrapper.find('div.toolbar__contentInformation').childAt(0).text()).to.equal('Alex');
expect(wrapper.find('div.toolbar__contentInformation').childAt(1).text()).to.equal('12');
或者你可以直接使用这个函数at()引用孩子:
expect(wrapper.find('.text.smallfont.ellipsis').at(0).text()).to.equal('Alex');
expect(wrapper.find('.text.smallfont.ellipsis').at(1).text()).to.equal('12');
或者使用函数first and last()
expect(wrapper.find('.text.smallfont.ellipsis').first().text()).to.equal('Alex');
expect(wrapper.find('.text.smallfont.ellipsis').last().text()).to.equal('12');
或者,您可以简单地参考:
wrapper.find('div.toolbar__contentInformation')[index]