javascript-使用React,Enzyme,Jest测试嵌套div中是否存在特定链接
作者:互联网
我在侧边栏,标题等中渲染了一些链接.我正在编写一些测试以确保它们存在,得到渲染等.一切正常.
我想确保使用正确的位置链接在正确的div中呈现链接.
标头组件示例
<div className="pull-right" id="navbarsExampleDefault">
<ul className="navbar-nav mr-auto">
{props.links.map((link, i) => {
return (
<li key={`HEADER_${i}`} className="nav-item hdr">
<NavLink exact className='nav-link' activeClassName='nav-link active' to={`${link.location}`}>
{link.title}
</NavLink>
</li>
)
})}
</ul>
</div>
该对象被传递为迭代的道具:
let headerLinkProp = [
{ title: "Dashboard", location: "/"},
{ title: "Budget", location: "/editBudget"},
{ title: "Virtual Accounts", location: "/viewAccounts"}]
我的最终目标是最终说..nav-item hdr中存在一个链接,其中该链接的标题为X,链接href为Y.
我有一些小片段,例如:
expect(wrapper.find('.sb').children()).toHaveLength(3)
那算.sb类中的孩子人数,但希望能更深入.
解决方法:
您应该尝试这样的事情:
let headerLinkProp = [
{ title: "Dashboard", location: "/"},
{ title: "Budget", location: "/editBudget"},
{ title: "Virtual Accounts", location: "/viewAccounts"}]
expect(wrapper.find('.sb').children()).toHaveLength(3);
wrapper.find('.nav-link').forEach((node, index) => {
expect(node.text()).to.equal(headerLinkProp[index].title);
expect(node.prop('to')).to.equal(headerLinkProp[index].location);
});
标签:enzyme,unit-testing,reactjs,jestjs,javascript 来源: https://codeday.me/bug/20191025/1928636.html