Parte 1: O que são testes de unidade?

Vinicius Oliveira
Flutter Brasil
Published in
2 min readMar 30, 2024

Testes de unidade são conduzidos em unidades isoladas do projeto, como o nome sugere. Considere um repositório para usuários contendo quatro métodos na classe: Listar Usuários, Criar Usuário, Editar Usuário e Deletar Usuário. O objetivo é criar testes para cada método, abrangendo todos os cenários possíveis e garantindo o funcionamento adequado do sistema.

Tomemos como exemplo o método “Listar Usuários”:

Cenários para teste incluem:

  • Formato das informações: Verificar se o formato das informações retornadas está conforme o esperado, como a estrutura de um objeto JSON ou uma lista de objetos.
  • Informações faltando: Testar se o método lida corretamente com casos em que há informações ausentes, como um usuário sem nome ou e-mail.
  • Erro na conversão dos dados: Avaliar se o método trata adequadamente erros na conversão de dados, como no caso de receber um tipo de dado inesperado, como um Map do data source diferente do esperado.

Além desses cenários, podemos considerar outros para os demais métodos:

No método “Criar Usuário”:

  • Validação de entrada: Garantir que o método lida corretamente com diferentes tipos de entrada, como caracteres especiais, espaços em branco, etc.
  • Restrições de dados: Testar se o método aplica corretamente quaisquer restrições de dados, como limites de tamanho para campos de entrada.

No método “Editar Usuário”:

  • Atualização de informações: Verificar se o método atualiza corretamente as informações do usuário sem afetar outras partes do sistema.
  • Controle de acesso: Testar se o método verifica adequadamente as permissões antes de permitir a edição de um usuário.

No método “Deletar Usuário”:

  • Remoção de usuário: Garantir que o método remova o usuário especificado sem deixar vestígios no sistema, como registros desnecessários ou dados associados.
  • Tratamento de erros: Testar como o método lida com casos em que a exclusão de um usuário não é possível, como quando o usuário não existe ou possui dependências em outras partes do sistema.

Esses são exemplos de cenários que podem ser explorados em testes de unidade para cada método, fornecendo uma cobertura abrangente e garantindo a robustez do sistema. Testes de unidade são importantes não apenas para garantir o funcionamento adequado do sistema, mas também servem como documentação do comportamento esperado em cada fluxo, facilitando a manutenção futura do sistema.

Na segunda parte do artigo, vamos mergulhar diretamente no código e desenvolver alguns testes de unidade. Agradeço por ler até o final. Até logo!

Link para a comunidade flutter do discord:

Participe da comunidade Flutter no Discord! Junte-se a nós em discussões e colaborações sobre Flutter. Clique aqui para acessar

Referência:

--

--