web-dev-qa-db-fra.com

google-test: couverture du code

Est-il possible d'obtenir une couverture de code effectuée par des tests à l'aide du framework de test Google?

32
gruszczy

Oui, j'ai utilisé avec succès des outils gratuits (gcov) et commerciaux (CTC++). Aucune étape particulière n'est nécessaire, suivez simplement la documentation.

Plus de détails peuvent être trouvés dans ce blog http://googletesting.blogspot.dk/2014/07/measuring-coverage-at-google.html

24
chalup

Oui, vous pouvez associer votre application basée sur Gtest avec le support de Gcov/lcov. reportez-vous à la documentation de lcov http://ltp.sourceforge.net/coverage/lcov.php

il existe un utilitaire de projet de test Linux disponible qui fait votre travail très facilement et est très auto-interprétatif.

lcov - une interface graphique GCOV

Télécharger à partir du dépôt Ubuntu:

$ Sudo apt-get install lcov
  1. Utilisez les commandes suivantes dans votre répertoire de construction

    $ lcov --directory ./build/ --capture --output-file ./code_coverage.info -rc lcov_branch_coverage=1
    
  2. Exécutez l'application

  3. Générer un rapport HTML

    $ genhtml code_coverage.info --branch-coverage --output-directory ./code_coverage_report/
    

Cela ressemblera à quelque chose comme - http://ltp.sourceforge.net/coverage/lcov/output/index.html

11
Jinay Patel

(Fonctionne uniquement sous Windows)

Il semble que cette question soit toujours active, voici donc une option supplémentaire. Je viens de tester Google Tests sur notre solution de couverture de code (oui, j'en suis l'auteur), qui fonctionne sur Visual Studio. Le projet peut être trouvé à: https://github.com/atlaste/CPPCoverage

Instructions: cliquez avec le bouton droit sur le projet, exécutez la couverture. :-)

Si vous préférez une sortie XML (pour CI), vous pouvez appeler l'exécutable de couverture manuellement.

7
atlaste