Workshop - Testes de Integração .NET
Um cenário muito comum no nosso dia-a-dia como desenvolvedores é após cada release termos algumas reclamações de clientes que algo está errado e em alguns casos temos até que dar rollback de uma release inteira devido algum componente crítico do sistema apresentar erros.
E quem leva a culpa? Você o Desenvolvedor.
O problema todo é que mesmo quando o desenvolvedor decide testar a aplicação ele esbarra em alguns problemas:
- A arquitetura é muito complexa e os testes não progridem
- Não existe tempo para testes, o time ja esta ocupado com a próxima entrega
- Não existe uma maneira de testar tudo, além do mais o time não quer perder tempo testando todas as funcionalidades do sistema, o desejo é começar a trabalhar em novas funcionalidades.
Infelizmente ninguém tem tempo para isso, mas de um jeito ou de outro o seu software vai ser testado, se não por você, por seus usuários.
Terceirizando o trabalho pesado de testar sua aplicação
Uma coisa que sempre me atraiu em aprender testes de integração foi poder automatizar as tarefas repetitivas de desenvolvimento. No nosso dia-a-dia quando estamos desenvolvendo um endpoint novo da nossa aplicação, após escrever o código nós startamos a aplicação e usamos alguma ferramenta para requisições, como POSTMAN ou INSOMNIA, validamos nosso código e partimos para a próxima tarefa.
Nesse cenário acaba sendo extremamente difícil validar se a alteração de um código existente tem impacto em outras áreas do sistema.
Por isso eu sempre reforço com os times que eu trabalho que testes de integração são extremamente importantes.
O Workshop
Partindo de um projeto exemplo com uma API e uma aplicação MVC tradicional, iremos construir toda a infra-estrutura necessária para testar nossa aplicação e automatizar a execução dos testes. Iremos focar em 3 tipos de testes:
- Testes de API usando HttpClient
- Testes de HTML gerado com [AngleSharp](https://anglesharp.github.io/)
- Testes E2E com [cypress.io](https://www.cypress.io/)
As aulas serão online através do aplicativo zoom. As aulas são gravadas e disponibilizadas para os alunos através de link privado após o curso.
O workshop esta dividido em 2 encontros com duração de 2 horas e meia por encontro.
Dia 1
- Configuração do ambiente
- Estrutura do Projeto
- Criação do Projeto de testes
- Escrevendo os primeiros testes
Dia 2
- Criação do script de testes (powershell)
- Relatório de testes
- Cobertura de código
- Criando pipeline no Azure DevOps (CI)
- Resultado dos testes no Azure DevOps
- Cobertura de código no Azure DevOps
- Dúvidas
Pré Requisitos
O workshop será realizado online e o aluno poderá usar o sistema operacional de sua escolha (windows, Linux ou mac), bem como seu editor favorito.
- .net core 2.x ou .net 3.x
- Editor ou IDE - Visual Studio / VSCode / Rider
- Docker
- Sql Server ou Postgres
Inscrições
No momento não temos nenhuma turma agendada. Inscreva-se na nossa lista para receber um aviso quando abrirmos a próxima turma.