Reactjs 浅层渲染返回空对象,wrapper.debug()显示完全渲染的组件
如果这是重复的,我很抱歉,但我还没有找到答案。我试图测试一个呈现react引导组件的功能组件。烟雾测试工作正常,但要测试它是否呈现了正确的孩子却很棘手。我一直在遵循文档进行浅层渲染,但是我的包装器返回:Reactjs 浅层渲染返回空对象,wrapper.debug()显示完全渲染的组件,reactjs,jestjs,enzyme,react-bootstrap,Reactjs,Jestjs,Enzyme,React Bootstrap,如果这是重复的,我很抱歉,但我还没有找到答案。我试图测试一个呈现react引导组件的功能组件。烟雾测试工作正常,但要测试它是否呈现了正确的孩子却很棘手。我一直在遵循文档进行浅层渲染,但是我的包装器返回:shallowRapper{},即使wrapper.debug()返回: 分数 看起来您使用的是来自Jest with style的expect 您有两个选项,可以将chai添加到项目中,也可以将此导入添加到测试中: import { expect } from 'chai'; 或者,您可以
shallowRapper{}
,即使wrapper.debug()返回:
分数
看起来您使用的是来自Jest with style的expect
您有两个选项,可以将chai
添加到项目中,也可以将此导入添加到测试中:
import { expect } from 'chai';
或者,您可以像这样重写测试:
expect(wrapper.find(Navbar).length).toEqual(1);
我很感激您的回答,但尝试了此操作后,出现了以下错误:
TypeError:无法读取未定义的属性have
。您是否安装了chai
(warn add chai
/npm I--save dev chai
)?你也试过第二种方法吗?在回答之前,我试了两种方法。我只试了第二种方法。真奇怪,你居然能让它工作。您正在运行哪个版本的jest?您无法获得此错误TypeError:无法使用第二个解决方案读取未定义的属性'have',因为您不再访问have
等等!!!重新启动了测试套件,它成功了!非常感谢你!