Test时Cannot read the property 'state' of undefined
来源:9-8 创建编辑页面测试编写
慕雪5497580
2020-07-31
老师您好,我在测试时遇到了一个问题, 咨询您一下。
当我测A时传了props, 也单独命名export A. 但是我monut(A), B中使用context(this.props.data.state…)的那一行报错Cannot read the property of ‘state’.图中那一行在B的文件中。
写回答
2回答
-
同学你好 看了你给的例子 Child 的一些值是从 context 里面取得,但是在测试的时候,我们并没有 context 赋值,肯定会造成 Child,比如你的例子中 this.props.data.state.items 这个 data 是从 context 传入的,但是在测试中,这个根本是不存在的。
两个解决方法,我都试了一下
1,在 test 中使用 context 来包裹
const wrapper = mount( <AppContext.Provider value={{ state: initData, }}> <Parent {...props} /> </AppContext.Provider> )
2, 直接把值当props 传给 child,child 就不要用 context 了
032020-08-02 -
张轩
2020-08-01
同学你好
在容器组件在测试的时候 和context 是无关的,所以任何需要的数据都需要从 props 中注入,看错误是你在初始化这个组件的测试的时候,并没有传入 props.data.state 属性。
032020-08-01
相似问题