6
votes

Cover Coverage Reporting avec Visual Studio 2013 Professional pour Native C ++

Utilisation de la structure de test unitaire C ++ avec Visual Studio 2013 Professional, on peut écrire des tests d'unité et les exécuter à partir de l'IDE, mais afin de générer des rapports de couverture, apparemment, il faut avoir la prime ou ultime édition de Visual Studio.

est-il possible d'obtenir des rapports de couverture de code avec l'édition professionnelle, de préférence sans installer d'outils tiers? sinon, quelles options alternatives existent pour les personnes qui n'utilisent pas les éditions les plus chères de la IDE?

Veuillez noter qu'il est possible de générer les données de couverture à l'aide d'outils de ligne de commande, mais je ne parviens pas à trouver un moyen de regarder les résultats. Par souci de référence, voici les étapes de la génération de lignes de commande des statistiques de couverture:

  1. Construisez le code à tester avec avec / profil Switch Linker
  2. Exécuter vsinstr / couverture pour instrument le code; Assurez-vous que vous êtes à l'intérieur de l'invite de commande VS 2013
  3. Exécuter Démarrer vsperfmon -Couverage -Output: résultats Pour exécuter le profileur
  4. Exécutez vos tests de l'unité
  5. Arrêtez le profileur en exécutant vsperfcmd -shutdown

    Ce qui précède vous donnera un fichier de résultats. Coverage, sans aucun moyen de le voir sans les éditions premium ou ultimes autant que je sache.


0 commentaires

3 Réponses :


7
votes

Avec VS2013 Professional, vous n'avez pas de chance si vous souhaitez le faire sans outils de tiers Exigences: Visual Studio Ultimate, Visual Studio Premium ( http://msdn.microsoft.com/en-us/library/dd537628.aspx ). De ce que je comprends, vous avez déjà réussi à générer votre fichier *. Coverage et que vous rencontrez des problèmes. Couverture visuelle ( https://github.com/jsargiot/visual-couvernement ) peut aider Vous avec cela, c'est très simple à utiliser et c'est OpenSource. Si vous souhaitez trouver plus d'alternatives, voir un autre thread SO: Code de visualisation Résultats de la couverture en dehors de Visual Studio . Les outils sont destinés aux fichiers de couverture C #, mais d'après ce que je comprends, il ne devrait y avoir aucune différence.


1 commentaires

Le soi-disant OpenSource Couverture visuelle L'outil inclut sans vergogne de deux ms dll, qui je crois ne sont pas ouverts pour la redistribution. L'outil Report Report Génerator nécessite des données de couverture XML, qui n'est pas disponible en dehors de Premium et Ultimate, je crois.



1
votes

Une solution possible que vous pouvez obtenir des données de couverture consiste à exécuter une boîte à outils d'instrumentation sur votre test de test . L'outil d'instrumentation vous indiquera de la quantité couverte lors de l'exécution et vous pouvez facilement relier ces données à la quantité de couverture de vos tests de votre unité. Je l'ai fait avec un projet Xcode et openpat mais vous pouvez faire la même chose avec n'importe quelle boîte à outils Visual Studio conviviale.


2 commentaires

Y a-t-il des "boîtes à outils Visual Studio conviviales" connues qui font la même chose?


Dans un projet, j'ai utilisé cet outil de profilage GlowCode.com/summary.htm . Malheureusement, je n'ai rien trouvé comme OpenPat ou Valgrind pour Windows.



3
votes

Si vous êtes prêt à utiliser des bibliothèques tierces, vous pouvez utiliser OpenCPPOVERAGE . Cela fonctionne pour moi comme une application de ligne de commande. Mais je ne pouvais pas l'exécuter comme un plugin Visual Studio à Professional Visual Studio 2013.


1 commentaires

Eh bien, à ce jour, vous peut l'utiliser comme plug-in visuel studio (communauté +); Je viens de terminer la mise en œuvre et j'ai décidé de partager: Github.com/atlaste/vsopencppcouverage . Fonctionne hors de la case avec Mstest et Custom Executables (qui est essentiellement ce que j'utilise :)