reactjs - includes() 和 toLowerCase 不会从开玩笑的单元测试中抛出函数错误
问题描述
MyComponent.js 具有 toLowerCase 并包含在道具上。当我对 MyComponent 进行单元测试时,我得到了 toLowerCase 并且 includes() 不是一个函数。
我的组件.js
this.props.currentUser.role.toLowerCase().includes('admin')
MyComponent.test.js
mount(<Provider store={store}>
<MyComponent />
</Provider>);
});
错误:
TypeError: this.props.currentUser.role.toLowerCase is not a function
TypeError: this.props.currentUser.role.includes is not a function
解决方案
您应该将 currentUser 对象作为道具传递给组件。
let user ={role:"test"}
mount(<Provider store={store}>
<MyComponent currentUser={user}/>
</Provider>);
});
推荐阅读
- python - 如何根据我的查询突出显示搜索结果中的单词?
- python - 如何将具有多个非终端产生的 EBNF 转换为函数调用
- java - 我的数据库没有收到我输入 Android Studio 的数据
- r - 通过 ggplot2 框或条形图中派生的连续变量着色
- python - 反转对数/差异变换以进行绘图
- angular - 带有 sseemitter 406 错误的 jhipster 微服务
- python - 仅复制两个字符串模式之间的字符串
- r - 循环遍历 df 子集的唯一值,并使用新变量更新 df
- python - CountVectorzier 用于句子标记列表
- python - 为什么 pipenv 需要 Pipfile 和 Pipfile.lock?