Configurando relatórios de cobertura de código no Azure DevOps Pipelines
Como configurar cobertura de código em projetos .NET Core com o Azure DevOps, considerando testes de unidade e funcionais.
TL;TR;
Se você prefere ir direto ao ponto, veja este gist com um YAML de exemplo.
Uma das métricas que ajudam o time a acompanhar a eficiência dos testes desenvolvidos é a de cobertura de código. Cada plataforma possui seu set de ferramentas para capturarmos essa cobertura e, recentemente tive a oportunidade de aprender e configurar como fazer isso para a plataforma .NET utilizando o coverlet, Report Generator e integrando os resultado direto no Pipeline da Azure DevOps. Neste tutorial vou demonstrar o passo a passo de como eu fiz, para caso alguém deseje replicar para seus projetos.
Resultado após a configuração
Como configurar
Vamos dividir o processo em 4 etapas:
- Setup e configuração do ambiente de execução
- Execução dos testes unitários e funcionais capturando a cobertura
- Geração dos relatórios de cobertura com o ReportGenerator tool
- Publicação dos relatórios na Azure
Setup e configuração do ambiente para execução
Nesta etapa, vamos executar os seguintes passos:
- Adicionar as variáveis de build necessárias
- Adicionar uma .NET Core task para a etapa de Restore
- Adicionar uma .NET Core task para a etapa de Build
01 Pipelines Variables
02 Restore (.NET Core task)
03 Build (.NET Core task)
Execução dos testes capturando a cobertura
Nesta etapa vamos executar os seguintes passos:
- Adicionar uma .NET Core task para execução dos testes unitários
- Adicionar uma .NET Core task para execução dos testes funcionais
01 Execução dos testes unitários (.NET Core task)
02 Execução dos testes funcionais (.NET Core task)
Geração dos relatórios de cobertura
Nesta etapa vamos executar os seguintes passos:
- Adicionar uma Command Line task para Instalar o ReportGenerator tool
- Adicionar uma Command Line task para Gerar os relatórios de cobertura
01 Instalar o ReportGenerator tool
02 Gerar os relatórios de cobertura
Publicação dos relatórios na Azure
Nesta etapa vamos executar os seguintes passos:
- Adicionar uma Publish code coverage results task para publicar a cobertura na build da Azure
01 Publicar a cobertura na build da Azure
Com isso, agora podemos acompanhar diariamente nossa assertividade nos esforços relacionados a testes, e entender quais são os pontos que precisam maior atenção em questões de cobertura de código. Espero que esse tutorial ajude, dúvidas ou sugestões de melhoria nessa configuração são muito bem-vindas. ⚡️