Ir para o conteúdo principal

Introdução

[Tradução Beta Não Oficial]

Esta página foi traduzida por PageTurner AI (beta). Não é oficialmente endossada pelo projeto. Encontrou um erro? Reportar problema →

O problema

Você deseja escrever testes sustentáveis para sua interface web. Como parte desse objetivo, seus testes devem evitar detalhes de implementação dos componentes, concentrando-se em proporcionar a confiança pretendida. Além disso, sua suíte de testes precisa ser sustentável a longo prazo para que refatorações (alterações de implementação sem mudar funcionalidades) não quebrem seus testes e não desacelerem você e sua equipe.

A solução

A DOM Testing Library é uma solução extremamente leve para testar nós DOM (seja via simulação com JSDOM - padrão no Jest - ou diretamente no navegador). Seus principais utilitários permitem consultar o DOM de forma similar à maneira como usuários encontram elementos na página. Assim, a biblioteca ajuda a garantir que seus testes inspirem confiança no código de UI. O princípio fundamental da DOM Testing Library é:

Quanto mais seus testes se assemelharem à forma como seu software é usado, mais confiança eles podem te dar.

Como parte desse objetivo, os utilitários facilitam consultas ao DOM da mesma forma que um usuário faria: encontrar elementos de formulário por texto de label (como um usuário), identificar links e botões por seu texto (como um usuário), entre outros. Também oferece uma forma recomendada de localizar elementos via data-testid como "escapada" para casos onde conteúdo textual e label não façam sentido ou sejam impraticáveis.

Esta biblioteca incentiva seus aplicativos a serem mais acessíveis e permite que seus testes se aproximem de como um usuário utilizaria seus componentes, o que proporciona mais confiança de que seu aplicativo funcionará quando um usuário real o utilizar.

O que esta biblioteca não é:

  1. Um test runner ou framework

  2. Específica para um framework de testes (embora recomendemos Jest, a biblioteca funciona com qualquer framework. Veja Usando sem Jest)