Biblioteca de Testes para Angular
Esta página foi traduzida por PageTurner AI (beta). Não é oficialmente endossada pelo projeto. Encontrou um erro? Reportar problema →
Angular Testing Library
é construída sobre a
DOM Testing Library
adicionando APIs para trabalhar com componentes Angular.
A partir da versão 17 da ATL, você também precisa instalar o @testing-library/dom:
- npm
- Yarn
npm install --save-dev @testing-library/angular @testing-library/dom
yarn add --dev @testing-library/angular @testing-library/dom
Ou você pode usar o comando ng add.
Isso configura seu projeto para usar a Angular Testing Library, incluindo também a instalação do @testing-library/dom.
ng add @testing-library/angular
O problema
Você quer escrever testes sustentáveis para seus componentes Angular. Como parte desse objetivo, você quer que seus testes evitem detalhes de implementação dos seus componentes, focando em proporcionar a confiança necessária para sua finalidade. Além disso, você quer que sua base de testes seja sustentável a longo prazo, para que refatorações dos componentes (mudanças na implementação, não na funcionalidade) não quebrem seus testes e não atrasem você e sua equipe.
A solução
A Angular Testing Library é uma solução extremamente leve para testar componentes
Angular. Ela fornece funções utilitárias simples sobre a
DOM Testing Library
de forma a incentivar melhores práticas de teste. Seu princípio orientador principal
é:
Em vez de lidar com instâncias de componentes Angular renderizados, seus testes
trabalharão com nós DOM reais. Os utilitários desta biblioteca facilitam
consultar o DOM da mesma forma que um usuário faria: encontrar elementos de formulário
pelo texto do rótulo (como um usuário faria), localizar links e botões pelo seu texto
(como um usuário faria). Ela também expõe uma forma recomendada de encontrar elementos por
data-testid como uma "saída de emergência" para elementos onde o conteúdo textual
e o rótulo não fazem sentido ou não são práticos.
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.
A Angular Testing Library:
Reexporta as funções utilitárias
queryefireEventdaDOM Testing LibraryEncapsula as funções
fireEventdo seu componente para chamar automaticamentedetectChanges()após um evento ocorrerÉ independente de framework de testes, funcionando em qualquer framework