reactjs - 浅层测试功能作为子组件
问题描述
我添加了一个组件,它使用函数作为孩子。我对这个停止工作的组件进行了浅酶测试。
如何对使用函数的组件进行浅层测试?
零件
return (
<I18n>
{({ i18n }) => (
<div />
)}
</I18n>
)
我尝试过的测试
import { shallow } from 'enzyme';
wrapper = shallow(<Component />)
.find('I18n')
.children();
console.log(wrapper.debug()); //outputs: [function]
wrapper = shallow(<Component />)
.find('I18n')
.children()();
// TypeError: (0 , _enzyme.shallow)(...).find(...).children(...) is not a function
解决方案
孩子必须作为属性而不是直接调用孩子,并且 I18n 也必须是浅渲染的。
const outerWrapper = shallow(< Component />);
wrapper = shallow(outerWrapper.find('I18n').prop('children')());
推荐阅读
- windows - 如果内部循环使用批处理脚本失败,如何退出外部循环
- ms-access - 这里的地图在 ms 访问 webbrowser 中不可拖动
- c++ - 从向量 C++ 中删除字符串
- angular - NGRX - 如何通过reducer更新数组中对象中的字段?
- java - 如何从给定季度获取月份
- python - 如何在 python 中读取 .img 文件?
- graph - 证明存在一个顶点的最小生成树总是包含该顶点的最短边
- json - 根据子对象数组中的值进行选择
- gekko - GEKKO 是否支持离散整数空间问题的任何无梯度方法?
- ios - UINavigationController 在更改高度时会切断内容吗?(gif)