Nessa aula vi que o professor estava usando o fireEvent, eu estava acostumado com o userEvent, qual a diferença entre eles?
Nessa aula vi que o professor estava usando o fireEvent, eu estava acostumado com o userEvent, qual a diferença entre eles?
Salve o/
Bora desvendar essa diferença entre fireEvent e userEvent na biblioteca de testes do React. Ambos são usados para simular ações do usuário durante os testes, mas eles funcionam de formas um pouco diferentes.
O fireEvent é o mais básico e vem diretamente do pacote @testing-library/dom. Ele permite que você dispare eventos DOM simples, como click, change, mouseover, etc. Isso é super útil e permite testar a maior parte das interações.
Já o userEvent é um pouco mais sofisticado. Ele vem de um pacote diferente, o @testing-library/user-event, e tem como objetivo simular as ações do usuário de forma mais realista. Por exemplo, se você usar userEvent.type() para digitar em um campo de texto, ele vai disparar uma série de eventos de keydown, keypress e keyup, além do input e change, para realmente simular a ação de digitar. No fireEvent, você teria que disparar cada um desses eventos individualmente.
Dito isso, não existe um "melhor" entre os dois. O userEvent pode ser uma opção mais realista para muitos casos, mas o fireEvent ainda é muito útil e necessário em algumas situações. Além disso, nem todos os eventos disponíveis no fireEvent são cobertos pelo userEvent, então você pode precisar usar os dois dependendo do que está testando.
Espero que isso esclareça a diferença entre fireEvent e userEvent. Qualquer dúvida, tamo junto!