Reactjs 材料界面酶法浅层检测

Reactjs 材料界面酶法浅层检测,reactjs,enzyme,Reactjs,Enzyme,我正在我的应用程序中使用MaterialUI。我想测试以下组件,以获得有效的免责声明文本(请注意,我在这里使用的是withStyles HOC): 从“React”导入React; 从“属性类型”导入{object}; 从“@material ui/core/styles”导入{withStyles}”; 从“@material ui/core”导入{排版}; 常数headerBarHeight=64; 常量样式=()=>({ 免责声明:{ 位置:'绝对', 底部:headerBarHeigh

我正在我的应用程序中使用MaterialUI。我想测试以下组件,以获得有效的免责声明文本(请注意,我在这里使用的是withStyles HOC):

从“React”导入React;
从“属性类型”导入{object};
从“@material ui/core/styles”导入{withStyles}”;
从“@material ui/core”导入{排版};
常数headerBarHeight=64;
常量样式=()=>({
免责声明:{
位置:'绝对',
底部:headerBarHeight,
填充:“0 5px 10px”
}
});
const免责声明=道具=>{
常量{classes}=props;
返回(
版权所有StaticSphere{new Date().getFullYear()}
);
};
免责声明.propTypes={
类:object.isRequired
};

导出默认样式(样式)(免责声明)当您使用HOC时,我们需要使用
WrappedComponent
在其中包装jsx

 var component = shallow(
        <Disclaimer.WrappedComponent />
    ).dive(); 

我希望这会有所帮助,如果问题仍然存在,请告诉我。

天哪。。。。我花了一段时间才让它起作用,但我在回购协议的页面上找到了一个有效的例子
material ui
在酶的
shallow
mount
顶部有一个包装,允许您
潜水
要测试的组件

shallow=createShallow({dive:true})让我开心


这也是,在我的例子中,我必须调用
component.update()在“其他”中执行一些操作以查看我的状态更新后。

是否尝试了
var text=component.dive().find(排版).text()?我尝试了各种潜水组合,但不能完全按照我想要的方式工作。我尝试了各种版本的dive(),但都无法正常工作。mount()工作正常。这是否回答了您的问题?我尝试了各种版本的潜水,但不能完全让它工作,尽管我很感激。使用WrappedComponent只能通过github共享它。因此更容易调试问题
var text = component.find('withStyles(Typography)').text();