Reactjs 如何测试酶,反应虚拟化,材料界面?
我必须测试一个非常不寻常的情况,在我的测试中,我应该单击一些组件,这些组件由from material ui包装,并且它位于react vertualized的列表中 我已经跳到它-Reactjs 如何测试酶,反应虚拟化,材料界面?,reactjs,jestjs,material-ui,enzyme,react-virtualized,Reactjs,Jestjs,Material Ui,Enzyme,React Virtualized,我必须测试一个非常不寻常的情况,在我的测试中,我应该单击一些组件,这些组件由from material ui包装,并且它位于react vertualized的列表中 我已经跳到它- wrapper .find(TreeView) .dive() .find(AutoSizer) .renderProp('children', {}) .find(VirtualizedTree) .dive() .renderProp('rowRenderer', { index:
wrapper
.find(TreeView)
.dive()
.find(AutoSizer)
.renderProp('children', {})
.find(VirtualizedTree)
.dive()
.renderProp('rowRenderer', { index: 0, props: {...} });
如果我调试它,我会看到这个结果-
<WithStyles(TreeNode) data-test="projected-tree" components={{...}} onSelectToggle={[Function]} onExpandToggle={[Function]} width={...} style={...} node={{...}} level={0} isOdd={true} />
我要单击的组件位于树节点内,但当我尝试潜水时,我收到与我在项目中使用的自定义主题相关的错误,这是因为与自定义主题的连接已丢失
我认为这是因为它是通过List的rowRenderer
属性渲染的
也许有人对如何在列表中传递自定义主题有什么想法。rowRenderer?您能粘贴收到的错误消息吗?此外,我还假设您可以使用withTheme:错误消息非常特定于我的情况
找不到未定义的属性“white”
,属性white
是我的自定义主题中的一种颜色,我的主题有自定义属性自定义颜色
,其中有属性white
,因此我的自定义主题已丢失,如果我调试我收到的主题,并且它是默认的material ui theme.hmm,那么使用该主题的代码是什么样子的,测试中组件的初始化是什么样子的?shallowWithIntl({element}).instance().getChildContext()你能想出一种方法来测试虚拟化酶的反应吗?