Javascript 测试库和fireEvent存在问题
我可以通过使用Javascript 测试库和fireEvent存在问题,javascript,reactjs,testing,jestjs,react-testing-library,Javascript,Reactjs,Testing,Jestjs,React Testing Library,我可以通过使用.getByPlaceholderText正确渲染组件并获取输入标记。问题是,在使用fireEvent更改输入值后,使用findByText无法获得相同的输入。这不是我将要使用的测试;我只是想了解为什么这不起作用 it('默认显示clearIcon',async()=>{ //渲染我的组件 render() //按占位符查找输入html元素-它有效 const inputNode=wait screen.findByPlaceholderText(/search/i) //触发一个
.getByPlaceholderText
正确渲染组件并获取输入标记。问题是,在使用fireEvent
更改输入值后,使用findByText
无法获得相同的输入。这不是我将要使用的测试;我只是想了解为什么这不起作用
it('默认显示clearIcon',async()=>{
//渲染我的组件
render()
//按占位符查找输入html元素-它有效
const inputNode=wait screen.findByPlaceholderText(/search/i)
//触发一个事件,其中我将输入值更改为“Text”
更改(inputNode,{target:{value:'Text'})
//通过我在其中添加的文本“text”查找相同的元素
//这不能说明它“找不到具有text/text/i的元素”
const sameInput=wait screen.findByText(/Text/i)
expect(sameInput).toBeInTheDocument()
})
问题是我试图测试一个嵌套组件,而输入值的状态在包装器组件中。将测试转移到包装组件解决了这个问题