React / Next.js

Testes em React

React Testing Library, Jest, Vitest, testes de componentes, mocking, interações de usuário, coverage

20 perguntas de entrevista·
Mid-Level
1

Qual é a principal diferença entre getBy, queryBy e findBy no React Testing Library?

Resposta

getBy lança um erro se o elemento não existir (assertions síncronas), queryBy retorna null se o elemento não existir (verificar ausência), e findBy retorna uma Promise para elementos assíncronos. Use getBy por padrão para elementos que devem existir, queryBy para verificar que um elemento não está presente, e findBy para aguardar o aparecimento de um elemento após um delay.

2

Qual é a principal vantagem de getByRole em relação a getByTestId?

Resposta

getByRole incentiva boas práticas de acessibilidade ao buscar elementos pelo seu papel ARIA semântico (button, textbox, heading), o que melhora a acessibilidade do componente para leitores de tela. getByTestId requer a adição de atributos data-testid artificiais que não trazem valor para o usuário final. React Testing Library recomenda priorizar getByRole, getByLabelText e getByText antes de getByTestId.

3

Como testar a renderização condicional de um elemento que NÃO está presente no DOM?

Resposta

Use queryBy para verificar a ausência de um elemento, pois ele retorna null em vez de lançar um erro. Exemplo: expect(screen.queryByText('Error')).toBeNull() ou expect(screen.queryByText('Error')).not.toBeInTheDocument(). getBy lançaria um erro e falharia o teste, enquanto findBy aguarda o elemento aparecer (timeout se ausente).

4

Por que o React Testing Library recomenda NÃO testar detalhes de implementação?

5

Qual é a diferença entre render e screen no React Testing Library?

+17 perguntas de entrevista

Domine React / Next.js para sua proxima entrevista

Acesse todas as perguntas, flashcards, testes tecnicos, exercicios de code review e simuladores de entrevista.

Comece gratis