[英]How to find element with Enzyme unit testing?
我有一个单元测试,它使用包含有效的函数。 是否可以从集合中选择一个节点然后获取 text 属性? 我试过这个:
it('should be equaling name property', () => {
const props = {
myprops: [{
email: "blaat@mail.com",
name: "Coco Chanel"
}]
};
const wrapper = shallow(<ServiceDetails {...props} />);
expect(wrapper.find('div')[0].text).equals('Cici Chanel');
});
这是我的 reactjs 组件的一部分:
return (
<section>
<div>{email}</div>
<div>{name}</div>
</section>
)
但是我收到此错误:
TypeError: Cannot read property 'text' of undefined
如何选择第二个 div 并获取该 div 中的值?
我相信您需要唯一标识 div:
expect(wrapper.find('section div:nth-of-type(1)').text()).equals('Cici Chanel');
或者更好:
return (
<section>
<div className="div1">{email}</div>
<div>{name}</div>
</section>
)
expect(wrapper.find('.div1').text()).equals('Cici Chanel');
同样text
是 function ,而不是 property 。
对我来说,以下代码有效
const component = wrappper.find('section.div')
expect(component.at(0).text()).toEqual('Cici chanel')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.