Cobertura de Testes em C#, como medir e visualizar no Visual Studio?

Marcio Nizzola
4 min readJul 25, 2024

--

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.

resultados da execução de testes em prompt de comando

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”.

instalação da extensão “Run Coverlet Report”

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:

como executar a extensão “Run Coverlet Report”

E assim, depois disso verá que serão executados os testes e ao final será exibido um relatório da cobertura na tela:

Resultados iniciais do teste de cobertura de código

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:

Resultados detalhlados do teste de cobertura de código

Ao clicar em um dos métodos, podemos ver os percentuais do objeto específico e o grau de cobertura de cada método

Resultados detalhados do teste de cobertura de código

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”.

Resultados detalhados do teste de cobertura de código

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.

visualização da cobertura de testes no relatório de 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.

Visualização da cobertura de código diretamente no editor de código

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

--

--

Marcio Nizzola

Microsoft MVP | Software Architect na CI&T | Prof. da Etec Itu | Membro Fundador da Comunidade Itu Developers.