Reactjs 浅层渲染返回空对象,wrapper.debug()显示完全渲染的组件

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'; 或者,您可以

如果这是重复的,我很抱歉,但我还没有找到答案。我试图测试一个呈现react引导组件的功能组件。烟雾测试工作正常,但要测试它是否呈现了正确的孩子却很棘手。我一直在遵循文档进行浅层渲染,但是我的包装器返回:
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
等等!!!重新启动了测试套件,它成功了!非常感谢你!