笑话:如何测试一个组件是不是具有某个 ref 属性?
Posted
技术标签:
【中文标题】笑话:如何测试一个组件是不是具有某个 ref 属性?【英文标题】:Jest: How to test that a component has a certain ref attribute?笑话:如何测试一个组件是否具有某个 ref 属性? 【发布时间】:2021-06-23 13:24:05 【问题描述】:JSX
const MyComp = ( myDOMElRef ) => <div id="x" ref= myDOMElRef />
测试
const mockedElRef = 'whatever';
// ... set up stuff
instance=shallow(<MyComp ref= mockedElRef />
expect(instance).toHaveProp('ref', mockedElRef);
Ref 是一个特殊的道具,因此测试失败。 如何检查 id 为 x 的 div 是否已将 ref 传入 MyComp?
【问题讨论】:
【参考方案1】:反应 16+
const domElement = instance.get(0);
expect(domElement.ref).toBe(mockedElRef);
注意:在 React 15 之前,可以在从 shallow()
返回的包装器上使用 instance()
而不是 get(0)
。
【讨论】:
以上是关于笑话:如何测试一个组件是不是具有某个 ref 属性?的主要内容,如果未能解决你的问题,请参考以下文章