Comment inclure des descriptions de cas de test dans la sortie de couverture de code lcov/genhtml
-
13-12-2019 - |
Question
J'utilise lcov pour générer des rapports de couverture de code pour une base de code C.Je souhaite intégrer les descriptions de tests dans le résultat final (en utilisant l'utilitaire gendesc de lcov.)
Cependant, je n'ai aucune idée de la façon de procéder, et la documentation sur gendesc semble plutôt rare (pour autant que le bon vieux Google ait pu me le dire.)
Le infos genresc chez LTP décrit comment créer les fichiers de description du scénario de test d'entrée (comme prévu par genhtml).Et le informations genhtml fournit --show-descriptions
, et --description-file
pour saisir de tels fichiers de description de scénario de test.
Cependant, je ne sais pas comment référencer les cas de test afin qu'ils soient inclus dans le rapport final.genhtml les considère comme cas de tests inutilisés et les maintient ainsi hors de la sortie HTML générée.je peux utiliser --keep-descriptions
, mais cela ne me dit pas quels cas de test ont été exécutés (évidemment parce que je ne sais pas comment faire la référence du code à la description du test.)
Alors, comment pouvons-nous dire à lcov/genhtml quels tests ont été exécutés dans la sortie finale ?Des idées?
La solution
Pour associer un nom de scénario de test à des données de couverture, spécifiez ce nom lors de la collecte des données de couverture à l'aide de l'option --test-name de lcov :
lcov --capture --directory project-dir --output-file coverage.info --test-name "test01"
Continuez ensuite avec les étapes que vous avez déjà mentionnées, c'est-à-dire créer un fichier de description de scénario de test "tests.txt" :
test01
Some test
Convertissez-le au format attendu par genhtml :
gendesc tests.txt --output-filename tests.desc
Spécifiez enfin le fichier de descriptions dans genhtml :
genhtml coverage.info --output-directory out --description-file tests.desc --show-details