Jestjs 方法“;模拟&x201D;将在1个节点上运行。改为找到0。玩笑/酶

Jestjs 方法“;模拟&x201D;将在1个节点上运行。改为找到0。玩笑/酶,jestjs,enzyme,Jestjs,Enzyme,我甚至尝试过给出类名,删除div并将其添加回去。有人能帮忙吗? //第1.js页 <div className="email" > <MyInput className="input1" name="email" type="email" onChange={formikProps.handleChange}/> </div> //Page1.te

我甚至尝试过给出类名,删除div并将其添加回去。有人能帮忙吗? //第1.js页

 <div  className="email" >
      <MyInput className="input1" name="email" type="email" onChange={formikProps.handleChange}/>
      </div>

//Page1.test.js

describe("testing email",()=>{
    test("email check",()=>{
        let wrapper  = shallow(<Page1/>)
        wrapper.find('MyInput[name="email"]').simulate('onChange', {target: {
            name: 'email',
            value: 'ale@gmail.com'
        }})
        expect(wrapper.state('email')).toEqual('ale@gmail.com')
    })
})
描述(“测试电子邮件”,()=>{
测试(“电子邮件检查”,()=>{
让包装器=浅()
wrapper.find('MyInput[name=“email”]”)。simulate('onChange',{target:{
名称:'电子邮件',
值:'ale@gmail.com'
}})
expect(wrapper.state('email')).toEqual('ale@gmail.com')
})
})

浅层不渲染子组件。它将只呈现react包装器。要测试事件和交互,请使用
mount
。您还可以使用
console.log(wrapper.debug())
查看包装器的内容。它将帮助您识别问题

模拟的第一个参数必须是要模拟的事件名称,而不是事件处理程序的名称

wrapper.find('MyInput[name=“email”]”)。模拟('change',{target:{
名称:“电子邮件”,值:'ale@gmail.com' }})