Javascript 使用Ezyme mount()访问嵌套组件

Javascript 使用Ezyme mount()访问嵌套组件,javascript,reactjs,unit-testing,jestjs,enzyme,Javascript,Reactjs,Unit Testing,Jestjs,Enzyme,我正在用酶测试连接的组件 我使用一个可重用的Root组件,在其中初始化redux存储、中间件和redux持久化。它看起来像这样(简化): //Root.jsx 常量根=()=>{ //有些逻辑。 返回 {儿童} ; } 然后,我像这样编写测试: description(“单元测试登录”,()=>{ 在每个之前(()=>{ 包装=装载( , ) }); 它(“呈现电子邮件和密码字段”,()=>{ log(wrapper.debug()); expect(wrapper.find(Input.le

我正在用酶测试连接的组件

我使用一个可重用的
Root
组件,在其中初始化redux存储、中间件和
redux持久化
。它看起来像这样(简化):

//Root.jsx
常量根=()=>{
//有些逻辑。
返回
{儿童}
;
}
然后,我像这样编写测试:

description(“单元测试登录”,()=>{
在每个之前(()=>{
包装=装载(
,
)
});
它(“呈现电子邮件和密码字段”,()=>{
log(wrapper.debug());
expect(wrapper.find(Input.length).toBe(2);
});
});
问题

测试失败,我无法找到深入嵌套在
中的元素。例如,查找简单的
输入
失败

Console.loging
wrapper.debug()
正在返回以下内容:


我怎样才能更深入地了解嵌套组件树,并使测试能够“找到”元素

我尝试过的

  • .dive()不适用于
    mount
  • 在每个测试中添加
    wrapper.update()
    似乎可以解决这个问题,但这并不优雅,而且
    wrapper.update()
    内部
    beforeach()
    不起作用

PersistGate
及其
道具的有条件呈现中是否有操作。子对象
?否,子对象直接传递给提供者,而无条件呈现您是否尝试过Ezyme的
children()
?是
wrapper.find()
仍然找不到节点…很可能在
PersistGate
中有操作,并且对其
道具进行了条件呈现。子对象
?不,子对象直接传递给提供程序,而没有条件呈现。您是否尝试过Ezyme的
子对象()
?是的
wrapper.find()
仍然找不到节点。。。