A cobertura do código Delphi é uma ferramenta de cobertura de código simples para Delphi que cria relatórios de cobertura de código com base em arquivos de mapa detalhados.
Confira também este projeto, pois adiciona um assistente ao Delphi IDE para ajudar a criar configuração e iniciar a cobertura do código Delphi.
O projeto para o qual você deseja executar um relatório de cobertura de código deve ter uma configuração de "depuração" que gera um arquivo de mapa detalhado.
Atualmente, a cobertura do código da Delphi mede apenas "cobertura de linha", ou seja, rastreará cada linha que o código foi gerado e marque -o se for executado.
Para aplicativos que usam bibliotecas de pacotes Borland (que são essencialmente DLLs) ou DLLs externas, o DCC tentará carregar um arquivo .map para cada DLL e, se existir e unidades nessas bibliotecas, fará parte das unidades cobertas, a cobertura do código abrange a DLL/BPL carregada como parte do aplicativo. O arquivo .MAP precisa existir no mesmo diretório que a DLL que foi carregada.
Faça o download do lançamento mais recente, descompacte o arquivo e coloque -o, por exemplo, no diretório "bin" das instalações da Delphi ou em algum lugar onde está no "caminho".
Todos os parâmetros entendem também variáveis de ambiente no estilo em lote (por exemplo, % windir % etc.) se um arquivo for usado para os diretórios de origem (ver -spf ), também existem variáveis de ambiente permitidas. É possível excluir unidades específicas no arquivo de unidades (consulte -uf ), precendendo um "!" antes do nome da unidade.
Abra um prompt de linha de comando no diretório em que seu aplicativo e executável compilados estão.
Tipo: CodeCoverage -m TestApp.map -e TestApp.exe -u TestUnit TestUnit2 -xml -html
Devido aos recursos mais recentes do idioma usados, é necessário um compilador um pouco mais recente. Sabe -se que o projeto não suporta Delphi Xe2. XE3 provavelmente funcionará. O desenvolvimento principal é feito com versões 10.x.
-html como um parâmetro)Para cada unidade, haverá uma unidade.html com um resumo da cobertura, seguido pela fonte marcada. Linhas verdes foram cobertas. Linhas vermelhas não eram linhas cobertas. As outras linhas não tinham código gerado para isso. Há também um arquivo codecoverage_summary.html que resume a cobertura e possui links para os relatórios da unidade gerada.
-xml como um parâmetro)Um relatório resumido XML chamado codeCoverage_summary.xml é gerado no diretório de saída que é compatível com a saída XML da Emma. Use em combinação com os switches '-xmllines' e '-xmlgenerics' para obter cobertura detalhada do código por linha.
-emma ou -emma21 como um parâmetro)Agora é possível criar uma saída compatível com Emma, o que permite o uso de Emma para mesclar várias execuções de cobertura de código, além de usar Emma para gerar relatórios.
O DCC é compatível com Delphi até 10.4.2, 32 e 64 bits.
Você pode integrar os resultados do relatório XML no Sonarqube. Consulte o plug -in Delphi Sonarqube ou a versão mais recente aqui para obter informações detalhadas.
Você pode integrar o relatório XML usando o plug -in Hudson Emma. O relatório HTML pode ser integrado usando o plug -in HTML Publisher.
Os mais recentes lançados foram possíveis através do apoio generoso da DevFactory e Mendrix.
Este projeto foi inspirado por ótimas ferramentas no mundo Java, como Emma. Este projeto está permanecendo em uma forma inacabada no meu harddrive há mais de um ano. Finalmente escapou.
-m MapFile.map | O arquivo de mapa usado como entrada |
-e Executable.exe | O executável para executar |
-sd directory | O diretório onde a fonte pode ser encontrada |
-sp directory directory2 | Os diretórios onde a fonte pode ser encontrada |
-spf filename | Use os diretórios de origem listados no arquivo apontado pelo nome do arquivo. Um diretório por linha no arquivo |
-esm mask1 mask2 etc | Uma lista de máscaras de arquivo para excluir da lista de unidades |
-ism mask1 mask2 etc | Incude apenas unidades que correspondem às máscaras de arquivo fornecidas |
-ecp prefix1 mask2 etc | Uma lista de prefixos de classe para excluir da cobertura |
-od directory | O diretório onde os arquivos de saída serão colocados - Nota - o diretório deve existir |
-u TestUnit TestUnit2 | As unidades que devem ser verificadas quanto à cobertura do código |
-uf filename | Unidades de capa listadas no arquivo apontado pelo nome do arquivo. Uma unidade por linha no arquivo |
-v | Mostrar saída detalhada |
-dproj ProjectFile.dproj | Analise o arquivo do projeto para diretos de origem, nome executável, página de código e outras opções. Observe que as opções que só poderiam ter um valor único, como a página de código, serão substituídas na ordem de aparência se vários interruptores relacionados forem encontrados. |
-a Param Param2 | Parâmetros para passar para o aplicativo que deve ser verificado quanto à cobertura do código. ^ é um personagem de fuga |
-lt [filename] | Registre os eventos em um arquivo de log de texto. O nome do arquivo padrão é: Delphi-Code-Coberage-debug.log |
-lapi | Eventos de log no Windows API OutputDebugString |
-ife | Inclua Extensão de Arquivo - Isso impedirá "Common.Encodings" sendo "convertidos" para "Comum" |
-efe | Exclua a extensão do arquivo - isso será 'convertido' "Common.Encodings.pas" para "Common.encodings" (e, infelizmente, "Common.Encodings" para "Common"). Isso está por padrão. |
-emma | Gere a saída de cobertura da EMMA como 'cobertura.es' no diretório de saída. |
-emma21 | Gerar saída de cobertura do EMMA21 como 'cobertura.es' no diretório de saída. |
-meta | Gere arquivos de meta e cobertura separados ao gerar saída de emma - 'cobertura.em' e 'cobertura.ec' serão gerados para meta dados e dados de cobertura. Nota: Necessidades -Emma também. |
-xml | Gere saída de cobertura XML - Gere a saída XML como 'codecoverage_summary.xml' no diretório de saída. |
-xmllines | Adiciona cobertura de linhas à saída de cobertura XML gerada. |
-xmlgenerics | Combine a cobertura de linhas para múltiplas ocorrências do mesmo nome de arquivo (especialmente útil em caso de classes genéricas). |
-html | Gere saída de cobertura HTML como 'codecoverage_summary.html' no diretório de saída. |
-uns dll_or_exe unitname [unitname_2] | Crie um espaço de nome separado (o nome do namespace será o nome do módulo sem extensão) apenas para as unidades listadas no módulo |
-mns name dll_or_exe [dll_or_exe_2] | Crie um espaço para nome separado com o nome fornecido para a DLL listada: s. Todos os módulos carregados nesses módulos serão acumulados em nome. |
-lcl LineCountLimit | Contagem número de vezes que uma linha é executada até o limite especificado |
-cp CodePage | Código Número da página de arquivos de origem |
-tec | Passagem do código de saída do aplicativo inspecionado |
-twd | Use o caminho do aplicativo como diretório de trabalho |
A cobertura do código da Delphi é licenciada nos termos da licença pública de Mozilla, v. 2.0. Você pode obter uma cópia da licença em http://mozilla.org/mpl/2.0/.