Cobertura de Testes em C#, como medir e visualizar no Visual Studio?
Sempre que entregamos nossos projetos, é importante termos uma métrica da cobertura de testes, ainda mais em tempos de bugs mundiais como o da “Crowdstrike” onde um simples erro derrubou vários serviços ao redor do mundo, evitá-los torna-se uma obrigação de cada desenvolvedor !
Existem meios de medir a cobertura pelo Visual Studio, mas não estão disponíveis nas versões Community e Professional, ficando disponíveis apenas na versão Enterprise ! Para resolver o problema existem outras formas de medir a cobertura de testes.
Podemos fazer isto de forma manual, ou com uso de uma extensão, para começar, execute os seguintes comandos para instalar as ferramentas necessárias
dotnet tool install -g dotnet-coverage
dotnet tool install -g dotnet-reportgenerator-globaltool
E depois que montar seu projeto e criar seus testes, inclua as bibliotecas: “coverage” e “coverage.msbuild” através do “Nuget Package Manager” ou através de linha de comando.
Através do comando abaixo, executado na pasta do projeto, você pode ver a cobertura de testes e seu percentual
dotnet test /p:CollectCoverage=true
Então os testes podem ser executados e exibido o relatório durante a execução.
Mas tem uma forma melhor de resolver isto, e termos relatórios melhor elaborados e com navegabilidade de uma página web !
Para isso, você agora só precisa instalar uma extensão no Visual Studio, que vai executar os testes e extrair um relatório com a medição da cobertura, para isto vá até o menu “Extensões” e digite na barra de pesquisa “Run Coverlet Report”, quando aparecer a extensão clique em “Instalar”.
Extensão: “Run Coverlet Report 2022”
Site: https://github.com/the-dext/RunCoverletReport/blob/master/README.md
Com esta extensão, os testes serão executados de forma automatizada, para isto é só clicar no menu “Tools” ou “Ferramentas” se estiver na versão em português:
E assim, depois disso verá que serão executados os testes e ao final será exibido um relatório da cobertura na tela:
Além do relatório exibir as contas, na parte inferior exibirá os métodos e o percentual de cobertura de cada um conforme a imagem abaixo:
Ao clicar em um dos métodos, podemos ver os percentuais do objeto específico e o grau de cobertura de cada método
Após clicar, será exibido o trecho específico do relatório demonstrando aquele método e o percentual de cobertura de 89% em “Line Coverage” e 78% em “Branch Coverage”.
Rolando mais abaixo, podemos ver em vermelho as condições que não estão cobertas em vermelho, facilitando a criação de testes para aumento da cobertura.
Um dos pontos interessantes desta extensão, é que ela permite também que vejamos as cores diferentes no editor de código após executá-lo, permitindo identificar os pontos que não tem cobertura em vermelho e em verde os pontos que estão cobertos.
Portanto é isso, mais uma ferramenta para nos auxiliar a obter uma cobertura maior do código !
Gostou do artigo? clique no ícone👏e me siga para ver as próximas publicações !! Quer ver mais conteúdos, acesse minhas redes através do Linktree: https://linktree.com/nizzola