Como incluir descrições de casos de teste na saída de cobertura de código lcov/genhtml
-
13-12-2019 - |
Pergunta
Estou usando o lcov para gerar relatórios de cobertura de código para uma base de código C.Gostaria de integrar as descrições dos testes na saída final (usando o utilitário gendesc do lcov).
No entanto, não tenho ideia de como fazer isso, e a documentação sobre gendesc parece bastante escassa (até onde o bom e velho Google conseguiu me dizer).
O informações gendesc em LTP descreve como criar os arquivos de descrição do caso de teste de entrada (conforme esperado pelo genhtml).E a informações genhtml fornece --show-descriptions
, e --description-file
para inserir esses arquivos de descrição de caso de teste.
Porém, não sei como referenciar os casos de teste para que sejam incluídos no relatório final.genhtml os vê como casos de teste não utilizados e assim os mantém fora da saída HTML gerada.Eu posso usar --keep-descriptions
, mas isso não me diz quais casos de teste foram executados (obviamente porque não sei como fazer a referência do código para a descrição do teste).
Então, como podemos dizer ao lcov/genhtml quais testes foram executados na saída final?Alguma ideia?
Solução
Para associar um nome de caso de teste aos dados de cobertura, especifique esse nome ao coletar dados de cobertura usando a opção --test-name do lcov:
lcov --capture --directory project-dir --output-file coverage.info --test-name "test01"
Em seguida, continue com as etapas que você já mencionou, ou seja, crie um arquivo de descrição do caso de teste "tests.txt":
test01
Some test
Converta-o para o formato esperado pelo genhtml:
gendesc tests.txt --output-filename tests.desc
Por fim, especifique o arquivo de descrições para genhtml:
genhtml coverage.info --output-directory out --description-file tests.desc --show-details