Testes em Dart
Como testar aplicativos Flutter, web e VM.
Testes de software, uma parte importante do desenvolvimento de aplicativos, ajudam a verificar se seu aplicativo está funcionando corretamente antes de você lançá-lo. Este guia de testes em Dart descreve vários tipos de testes e aponta para onde você pode aprender a testar seus aplicativos Flutter, web e aplicativos e scripts do lado do servidor.
Você pode executar testes na linha de comando
usando o comando dart test
(ou, para aplicativos Flutter, flutter test).
Tipos de testes
#A documentação de testes em Dart se concentra em três tipos de testes, entre os muitos tipos de testes que você pode conhecer: unitários, de componente e end-to-end (uma forma de teste de integração). A terminologia de testes varia, mas estes são os termos e conceitos que você provavelmente encontrará ao usar tecnologias Dart:
-
Testes unitários focam em verificar a menor parte testável de um software, como uma função, um método ou uma classe. Seus conjuntos de testes devem ter mais testes unitários do que outros tipos de testes.
-
Testes de componente (chamados de testes de widget no Flutter) verificam se um componente (que geralmente consiste em várias classes) se comporta como esperado. Um teste de componente geralmente exige o uso de mock objects que podem imitar ações do usuário e eventos, executar o layout e instanciar componentes filhos.
-
Testes de integração e end-to-end verificam o comportamento de um aplicativo inteiro, ou de uma grande parte dele. Um teste de integração geralmente é executado em um dispositivo simulado ou real ou em um navegador (para a web) e consiste em duas partes: o próprio aplicativo e o aplicativo de teste que o submete a um conjunto de provas. Um teste de integração frequentemente mede desempenho, então o aplicativo de teste geralmente é executado em um dispositivo ou SO diferente do aplicativo testado.
Bibliotecas geralmente úteis
#Embora seus testes dependam, em parte, da plataforma para a qual seu código se destina (Flutter, web ou lado do servidor, por exemplo), os pacotes a seguir são úteis em todas as plataformas Dart:
-
package:test
Fornece uma maneira padrão de escrever testes em Dart. Você pode usar o pacote test para:- Escrever testes isolados ou grupos de testes.
- Usar a anotação
@TestOnpara restringir testes a ambientes específicos. - Escrever testes assíncronos da mesma forma que escreveria testes síncronos.
- Marcar testes com a anotação
@Tag. Por exemplo, defina uma tag para criar uma configuração personalizada para alguns testes, ou para identificar testes que precisam de mais tempo para serem concluídos. - Criar um arquivo
dart_test.yamlpara configurar testes marcados em vários arquivos ou em um pacote inteiro.
-
package:mockito
Fornece uma forma de criar mock objects, facilmente configurados para uso em cenários fixos, e de verificar se o sistema sob teste interage com o mock object das maneiras esperadas. Para um exemplo que usa package:test e package:mockito juntos, veja a biblioteca da API da Estação Espacial Internacional e seus testes unitários no pacote mockito.
Testes Flutter
#Use os recursos a seguir para saber mais sobre testes de aplicativos Flutter:
-
Testando aplicativos Flutter
Como executar testes unitários, de widget ou de integração em um aplicativo Flutter. -
flutter_test
Uma biblioteca de testes para Flutter, construída sobre o package:test. -
flutter_driver
Uma biblioteca de testes para aplicativos Flutter em dispositivos reais e emuladores (em um processo separado). -
flutter_gallery
Código-fonte e testes do exemplo Flutter gallery. -
flutter/dev/manual_tests
Muitos exemplos de testes no Flutter SDK.
Outras ferramentas e recursos
#Você também pode achar os recursos a seguir úteis para desenvolver e depurar aplicativos Dart.
IDE
#Na hora de depurar, sua primeira linha de defesa é a sua IDE. Existem plugins Dart para muitas IDEs comumente usadas.
Dart DevTools
#O Dart DevTools é um conjunto de ferramentas de desempenho para Dart e Flutter. Para mais detalhes, veja a documentação do Dart DevTools.
Integração contínua
#Considere usar integração contínua (CI) para compilar seu projeto e executar seus testes após cada commit. Dois serviços de CI para GitHub são GitHub Actions e AppVeyor.
Saiba mais sobre o GitHub Actions:
-
Muitos pacotes mantidos pela equipe Dart usam GitHub Actions.
Como exemplo, veja
markdown.yamlno repositório do pacote markdown. Para ver como esse repositório migrou do Travis CI para o GitHub Actions, veja o PR #353.
Salvo indicação em contrário, a documentação neste site reflete Dart 3.13.7. Página atualizada pela última vez em 2026-11-12. Ver código-fonte ou relatar um problema.
Encontrou essa página sem tradução ou que precisa de correção? Abra uma issue e nos ajude a manter esse site em PT-BR para ajudar pessoas como você.