web-dev-qa-db-fra.com

Est-ce que Visual Studio a une couverture de code pour les tests unitaires?

J'utilise Visual Studio 2015 Community Edition et je sais qu'il a la possibilité de créer des tests unitaires pour tester le code, mais je ne vois pas l'option de tester la couverture du code. J'aimerais donc savoir si Visual Studio a cette option ou si je dois utiliser un plugin tiers.

Si je dois utiliser une solution tierce, est-ce que ce serait une bonne option?

65
Álvaro García

Seul Visual Studio 2015 Enterprise est doté d'une couverture de code intégrée. Voir la matrice de caractéristiques pour plus de détails.

Vous pouvez utiliser le extension OpenCover.UI pour vérifier la couverture de code dans Visual Studio. Il prend en charge MSTest, nUnit et xUnit.

La nouvelle version peut être téléchargée à partir de ici ( notes de mise à jour ).

65
Toni Wenzel

Si vous utilisez Visual Studio 2017 et rencontrez cette question, vous pouvez envisager AxoCover. C'est une extension VS gratuite qui intègre OpenCover, mais supporte VS2017 (elle semble également être en développement actif. +1).

page d'extension VS

https://github.com/axodox/AxoTools

41
Gordon Bean

La réponse de Toni est très utile, mais je pensais que les débutants pourraient commencer rapidement à tester l’évaluation de la couverture (comme je le suis).

Comme indiqué précédemment, Visual Studio Professional et Community Editions ne disposent pas d'une prise en charge intégrée de la couverture de test. Cependant, il peut être obtenu assez facilement. Je vais écrire une configuration étape par étape à utiliser avec les tests NUnit dans Visual Studion 2015 Professional.

  1. Installer composant OpenCover NUGet en utilisant l'interface NuGet

  2. Obtenez extension OpenCoverUI . Cela peut être installé directement à partir de Visual Studio en utilisant Outils -> Extensions et mises à jour

  3. Configurez OpenCoverUI pour utiliser les exécutables appropriés en accédant à Outils -> Options -> OpenCover.UI Options -> Général

NUnit Path: doit pointer vers le fichier `nunit-console.exe. Cela se trouve uniquement dans la version NUnit 2.xx, qui peut être téléchargée à partir de ici .

OpenCover Path : cela devrait pointer vers le paquet installé, généralement <solution path>\packages\OpenCover.4.6.519\tools\OpenCover.Console.exe

  1. Installer le package NUGet de ReportGenerator

  2. Accédez à OpenCover Test Explorer à partir du menu OpenCover. Essayez de découvrir des tests à partir de là. Si cela échoue, vérifiez les fenêtres de sortie pour plus de détails.

  3. Consultez les résultats OpenCover (dans le menu OpenCover) pour plus de détails. Il affichera des détails tels que la couverture de code dans une vue arborescente. Vous pouvez également mettre en évidence le code qui est couvert ou non (petite icône en haut à gauche).

REMARQUE: Comme mentionné, OpenCoverUI ne prend pas en charge la dernière version majeure de NUnit (3.xx). Cependant, si rien de spécifique à cette version n'est utilisé dans les tests, cela fonctionnera sans problème, même si NUnit 3.xx est installé.

Cela couvre le démarrage rapide. Comme déjà mentionné dans les commentaires, pour une configuration plus avancée et une vérification de l'automatisation, cet article

30
Alexei