segunda-feira, 8 de janeiro de 2024

Como Configurar o DelphiCodeCoverage

 


No post anterior, expliquei o que é e para que serve a ferramenta SonarQube. Porém, antes de cairmos de cabeça em sua instalação e configuração, devemos falar um pouco sobre o DelphiCodeCoverage

DelphiCodeCoverage

O DelphiCodeCoverage é uma ferramenta capaz de analisar o código-fonte e montar métricas sobre cobertura de testes.

Ele trabalha juntamente com o framework DUnitX que já vem nativo nas últimas versões do Delphi. Então para quem já possui testes implementados, basta apenas configurar essa ferramenta e já começar a medir a cobertura de teste do seu projeto.

O que é Cobertura de Testes?

Basicamente, a cobertura de testes é o percentual de linhas que foram "percorridas" por meio de testes unitários. Ou seja, se eu tenho um método de 5 linhas, para termos uma cobertura 100%, o nosso teste unitário deverá percorrer essas 5 linhas e sem falhar.

A ferramenta exibe um relatório geral, listando as classes do seu projeto, assim como as linhas cobertas, linhas descobertas e o percentual de cobertura.
Nesse relatório ainda é possível navegar pelas classes e descobrir quais linhas ainda faltam ser testadas.





O DelphiCodeCoverage possui diversos parâmetros de entrada para poder configurar sua execução de acordo com cada necessidade. No vídeo a seguir, mostro apenas uma das configurações.

DelphiCodeCoverage e SonarQube

Uma vez possuindo as métricas de cobertura de teste, é o momento de enviar as informações ao SonarQube. Como foi mencionado no post anterior, o próprio SonarQube possui o recurso de CodeCoverage e é a partir do resultado extraído do DelphiCodeCoverage que enviaremos tais informações. Porém, para não deixar esse post complexo, estarei explicando em um próximo artigo.

Passo a Passo

  • Habilitar o map do projeto de testes
    Opções do Projeto > Delphi Compiler > Linking > Map File: Detailed
  • Habilitar as informações de Debug
    Opções do Projeto > Delphi Compiler > Linking > Debug Information: True
  • Configurar o arquivo .bat
    (exemplo)
    @echo off
    CodeCoverage.exe ^
      -e ..\bin\CalculadoraTests.exe ^
      -m ..\bin\CalculadoraTests.map ^
      -dproj ..\Calculadora.dproj ^
      -od CodeCoverage ^
      -emma ^
      -xml ^
      -html ^
      -xmllines ^
      -v
    timeout /t -1
  • Adicionar as units no projeto de testes


Links:
DelphiCodeCoverage
Exemplo Prático
Sobre SonarQube

Nenhum comentário:

Postar um comentário

Postagem em Destaque

Configurando o Projeto Delphi para o SonarQube

  No post anterior expliquei como instalar e configurar o SonarQube com o plugin do Delphi . Neste post vamos configurar nosso projeto Del...

As mais visitadas