【发布时间】:2021-04-18 13:16:54
【问题描述】:
我的组件的类是使用 CSS 模块动态生成的。他们最终看起来像这样:
<a class="ScrollArea__scrollArea___HQjeV isOverflown TMwDC"></a>
在某些情况下,我需要寻找包含 isOverflown 的类,但我不确定最好的方法是什么。寻找访问类名的任何建议
it('render', () => {
const wrapper= mount(<ScrollArea {...props} />)
expect(wrapper.find('a').props().className).toBe('isOverflown')
出现错误:
expected: isOverflown
received: ScrollArea__scrollArea___HQjeV isOverflown TMwDC
console.log(wrapper.debug()) 结果
<Memo() title="title" href="link address">
<StyledComponent onClick={[undefined]} href="link address" target="_blank" disabled={[undefined]} forwardedComponent={{...}} forwardedRef={{...}}>
<a className="ScrollArea__scrollArea___HQjeV isOverflown TMwDC" onClick={[undefined]} href="link address" target="_blank" disabled={[undefined]}>
title
</a>
</StyledComponent>
如何实现,谢谢帮助
【问题讨论】:
-
@jonrsharpe expect(wrapper.find('a').hasClass('isOverflown')).to.equal(true) 这是你要调查的那个
-
.to.equal不是 Jest 的匹配器语法,否则是的。 -
使用 find() .className 无法获取该类名吗??
-
什么意思“这不可能”?是的,当然你可以使用例如
.find(".isOverflown")如果你愿意的话。
标签: reactjs react-redux jestjs enzyme