我目前正在尝试使用玩笑/酶来测试我的组件,由于某种原因,当我尝试渲染我的组件时,并没有使用我传递给我的参数的参数覆盖默认的props值。
这就是我的组件中的内容
我在DataGridComponent组件中有这个
componentDidMount() {
this.props.getMyData(this.props)
.then(() => {
this.setState({
gridSheet: getTabData(metaDataStaging, this.state.objKey),
gridCol: modelHelper.createNewObj(this.props.myData.data.id, someOtherVal),
});
});
}
在我的考试中,我有:
let wrapper;
const props = {
getGridData: mockgetGridData,
metaDataStaging: null,
myData: null,
};
beforeEach(() => {
wrapper = shallow(<DataGridComponent {...props} />);
});
it('should render my data tabs on my DataGridComponent', () => {
const overrideProps = {
…props,
myData: {
data: {
idName: 'my name',
idDescription: 'test',
id: 1234,
type: ‘RE45’
},
},
}
const wrapperTwo = shallow(<DataGridComponent {...overrideProps} />);
expect(wrapperTwo).toMatchSnapshot();
});
当我对此进行测试时,我会失败
"TypeError: Cannot read property 'data' of null"
并指向:
"this.props.myData.data.id"
在我的DataGridComponent中。有人可以帮忙吗?