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
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 funcionaPerguntas 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