我在测试使用重组来应用样式,道具和路由器的组件时遇到了麻烦:
const enhance = compose(
withStyles(styles),
withRouter,
defaultProps({
title: 'Daily Track',
}),
);
export default enhance(MUIToolbar);
在我的测试套件中:
beforeEach(() => {
mountWrapper = mount(<Router><MUIToolbar.WrappedComponent /></Router>);
shallowWrapper = shallow(<MUIToolbar.WrappedComponent />).dive(styles);
});
.........
我得到:
TypeError: Cannot read property 'root' of undefined
如果我删除export default enhance(MUIToolbar);
并添加
export default withRouter(withStyles(styles)(MUIToolbar));
我所有的测试都有效,为什么?我需要为此组件使用recompose。