Estoy probando un componente de reacción con broma y la biblioteca de prueba de reacción (versiones más recientes) y no consigo que funcionen las pruebas asincrónicas. Supongo que es un problema de sintaxis. El componente se renderiza correctamente, y la recuperación (useEffect) también parece funcionar debido al hecho de que el tiempo de espera funciona.
test('renders asynchron', async () => { renderComp(); //renders component await waitFor(() => expect(screen.findByTestId('testid')).toBeInTheDocument()); //dont work await screen.findByTestId('testid'); //same setTimeout(() => { expect(screen.findByTestId('testid')).toBeInTheDocument(); //this works }, 100); });También tengo el mismo problema si espero un elemento después de hacer clic en un botón.
porque la siguiente función de flecha no está disponible:
() => expect(screen.findByTestId('testid')).toBeInTheDocument()debe definir la función interna asíncrona y esperar.