Pergunta de entrevista para Desenvolvedor React

Como você testa componentes React, e o que você deliberadamente não testa?

O que o entrevistador está avaliando, como estruturar sua resposta e um exemplo falado que você pode adaptar.

Resposta rápida

Teste comportamento pela mesma superfície que o usuário tem: renderize o componente, consulte por role e nome acessível, interaja, e verifique o que aparece. Cubra a lógica que pode de fato quebrar, como renderização condicional, estados de erro e de vazio, e hooks customizados. Não teste detalhes de implementação como estado interno, prop drilling, ou que um componente filho foi chamado; esses testes quebram a cada refatoração e não pegam nada.

Por que os entrevistadores perguntam isso

O entrevistador está atrás de uma filosofia de teste em vez de uma lista de ferramentas. Ele quer ouvir o princípio de comportamento acima de implementação, fronteiras sensatas entre unitário, integração e ponta a ponta, e uma opinião sobre mocks, já que testes com mock demais passam enquanto a produção quebra. Nomear o que você pula costuma ser mais informativo do que nomear o que você cobre, porque mostra que você já manteve uma suíte ao longo do tempo.

Como estruturar sua resposta

  • Enuncie o princípio: teste o que o usuário consegue observar.
  • Descreva rapidamente seu estilo de consulta e interação.
  • Diga onde você traça a linha em mocks, especialmente na rede.
  • Nomeie o que você pula e por que esses testes são um passivo.

Exemplo de resposta

Exemplo falado, em primeira pessoa

Minha regra é que um teste só deve falhar quando o comportamento visível para o usuário muda. Então eu renderizo o componente com a Testing Library, consulto por role e nome acessível, clico e digito como uma pessoa faria, e verifico o que está na tela. Isso tem um efeito colateral bom: se eu não consigo consultar por role, normalmente o markup tem um problema de acessibilidade. Para a rede eu intercepto na camada HTTP em vez de mockar minha própria camada de dados, porque mockar meu próprio módulo significa que eu estou testando o meu mock. A maior parte do valor vem da camada do meio, uma feature inteira renderizada com os filhos reais e um servidor falso, em vez de um teste por componente. O que eu não testo é estado interno, que um helper foi chamado, arquivos de snapshot de uma árvore inteira, ou estilo. Todos eles quebram em refatorações inofensivas e passam enquanto algo está genuinamente quebrado. Aí um número pequeno de testes ponta a ponta cobre os fluxos que o negócio não pode perder, como cadastro e checkout, e é isso.

Vai encarar essa entrevista em breve? O GhostPilot escuta a sua chamada ao vivo, identifica a pergunta no instante em que ela é feita e coloca uma resposta estruturada na sua tela em tempo real. Teste na sua próxima entrevista simulada ou pegue um Session Pass de $29, sem assinatura, para a hora da verdade.

Veja como funciona

Perguntas de acompanhamento que você pode esperar

  • Como você testa um hook customizado isoladamente?
  • Onde você traça a linha entre um teste de integração e um ponta a ponta?
  • Como você lidaria com um teste instável que depende de tempo?

Mais perguntas para Desenvolvedor React

Seu entrevistador vai fazer a própria versão desta. Cole a descrição real da vaga no Question Predictor gratuito e receba as 20 perguntas que essa vaga tem mais chance de fazer, com o que cada uma está de fato sondando.

Prever minhas perguntas

Ensaie as perguntas difíceis antes que elas apareçam

Pratique com um copiloto ao vivo e depois entre pronto. Um Session Pass de $29 te leva até o fim da entrevista, sem assinatura e sem amarras.

Instalar o GhostPilot