Fonctionnalités de dotCover

dotCover est un outil de test unitaire et de couverture du code .NET qui fonctionne directement dans Visual Studio et dans JetBrains Rider, vous fournit d'excellents moyens de visualiser la couverture du code et vous aide à savoir dans quelle mesure votre code est couvert par des tests unitaires et prêt pour l'intégration continue. dotCover calcule la couverture du code au niveau des instructions dans les applications ciblant le framework .NET, .NET Core, Mono ou Mono pour Unity, puis génère des rapports.

Intégration avec Visual Studio et Rider

Intégration avec Visual Studio et JetBrains Rider

dotCover est une extension pour Visual Studio et JetBrains Rider qui vous donne la possibilité d'analyser et de visualiser la couverture du code sans quitter l'éditeur de code. Cela inclut l'exécution de tests unitaires et l'analyse des résultats de couverture directement dans les IDE, ainsi que la prise en charge de différents thèmes de couleurs, de nouvelles icônes et menus.

dotCover prend en charge Visual Studio 2010 — 2019 et JetBrains Rider 2018.2 ou supérieur.

Prise en charge de macOS et Linux

Fonctionne sous Windows, macOs et Linux

Dans le cadre de Visual Studio ou JetBrains Rider sous Windows, dotCover prend en charge les projets ciblant n'importe quelle version supportée de .NET Framework, .NET Core, .NET, Mono 5.10 ou ultérieur, et Unity 2018.3 ou ultérieur. Sous macOS et Linux, dotCover ne peut être utilisé que dans le cadre de JetBrains Rider.

Testeur unitaire intégré

Exécution et gestion des tests unitaires

dotCover est livré avec un testeur unitaire qu'il partage avec un autre outil JetBrains pour développeurs .NET, ReSharper.

Le runner fonctionne dans Visual Studio / JetBrains Rider, permet de gérer les tests unitaires par sessions, et prend en charge plusieurs frameworks de tests unitaires, à savoir MSTest, NUnit, xUnit (tous prêts à l'emploi) et MSpec (via une extension).

Tests continus avec dotCover

Tests continus

dotCover prend en charge les tests continus : un workflow moderne de tests unitaires qui permet à dotCover de déterminer à la volée quels tests unitaires sont affectés par vos derniers changements de code et de réexécuter automatiquement les tests concernés.

Selon vos préférences, dotCover peut exécuter des tests affectés au moment d'enregistrer un fichier, lors de la génération de votre solution ou dès que vous dites explicitement à dotCover de le faire.

Le mode de test continu peut être activé pour n'importe quelle session de test unitaire : de cette façon, vous pouvez choisir les tests que vous voulez effectuer en continu et ceux que vous voulez exécuter de manière traditionnelle.

Exécuter et gérer des tests unitaires avec le testeur unitaire de dotCover

Couverture des tests unitaires

L'un des principaux cas d'utilisation de dotCover réside dans la couverture des tests unitaires, à savoir, comprendre quelles parties de la logique métier de l'application sont couvertes par des tests unitaires, et lesquelles ne le sont pas.

En plus des résultats des tests unitaires, dotCover affiche une arborescence de la couverture qui montre à quel point un projet, un espace nom, un type ou un élément de type en particulier est couvert par les tests unitaires.

Mise en évidence de la couverture dans Visual Studio et JetBrains Rider

Pour visualiser les données de couverture, dotCover peut mettre en évidence des lignes de code directement dans l'éditeur de code. Il y a une option pour basculer entre la mise en évidence par marqueurs et par surlignage ou pour afficher les deux.

Notez que la mise en évidence montre non seulement le code couvert et non couvert, mais aussi les résultats de la couverture des tests unitaires. La couleur verte signifie que les tests réussissent tandis que la couleur rouge indique qu'au moins un test qui couvre l'instruction échoue. La couleur grise indique le code non couvert.

Navigation du code vers les tests unitaires qui le couvrent

Navigation vers les tests de la couverture

dotCover fournit une commande (et un raccourci clavier) pour détecter quels tests couvrent un emplacement spécifique dans le code, que ce soit une classe, une méthode ou une propriété.

Vous pouvez invoquer la commande depuis l'éditeur de texte de Visual Studio ou depuis la vue Coverage Tree de dotCover.

Vous pouvez naviguer depuis la fenêtre contextuelle qui répertorie les tests de la couverture vers n'importe lequel de ces tests. De plus, vous pouvez les exécuter instantanément ou les ajouter à une session de test unitaire existante.

Vue des points critiques dotCover

Vue des points critiques

La vue des points critiques a été conçue pour vous aider à identifier les méthodes les plus risquées dans votre solution. Les points critiques sont calculés en tenant compte d'une complexité cyclomatique élevée et d'une faible couverture de test unitaire des méthodes.

Les filtres d'attributs complètent les filtres de couverture

Filtres de couverture

Parfois, vous ne voulez pas connaître les données de couverture à l'échelle de la solution. Par exemple, vous pouvez ne pas être intéressé par les statistiques de couverture pour du code marqué avec ObsoleteAttribute ou un ancien projet spécifique.

Dans ce cas, vous pouvez définir des filtres de couverture globaux ou spécifiques à la solution en fonction du projet, de l'espace de nom, du type ou des noms des membres de type. Des filtres d'attributs, qui limitent la collecte des informations de couverture au code marqué (ou non marqué) par certains attributs, sont également disponibles.

dotCover recalcule instantanément les statistiques lorsque vous excluez certains éléments des résultats de couverture

Exclure des nœuds de l'arborescence de couverture

Comme alternative aux filtres que vous définissez à l'avance ou que vous appliquez à toutes les solutions que vous ouvrez, vous pouvez exclure des éléments des résultats de couverture lorsque vous travaillez avec eux.

Lorsque vous disposez déjà de données de couverture collectées, vous pouvez choisir d'exclure un nœud spécifique de l'arborescence de couverture (et éventuellement créer un filtre de couverture permanent). Dès que vous le faites, dotCover recalcule instantanément les statistiques de couverture.

dotCover exporte les données de couverture dans plusieurs formats, dont XML, HTML et JSON

De multiples formats de rapports

dotCover permet de traiter vos données de couverture comme vous le souhaitez.

L'exportation vers de nombreux formats, notamment HTML, XML, JSON et XML pour NDepend vous permet de partager les rapports de couverture avec le reste de l'équipe ou de transmettre les informations de couverture à des services externes.

dotCover peut être utilisé pour les tests manuels

Couverture du code pour les tests manuels

Comme alternative à la couverture de test unitaire, dotCover peut exécuter une analyse de couverture sur les applications .NET exécutées depuis Visual Studio.

Ceci permet à un ingénieur AQ d'exécuter un scénario d'utilisation et d'examiner quelles parties du code ont réellement été exécutées pendant ce cas d'utilisation. L'enregistrement et la fusion des instantanés de couverture prennent en charge l'exécution de cas de test non triviaux.

Mise en évidence de la couverture du code dans TeamCity dans le cadre de l'intégration continue

Analyse de la couverture dans le cadre de l'intégration continue

dotCover s'adapte parfaitement aux serveurs d'intégration continue, en particulier au produit créé par JetBrains, TeamCity.

Tout d'abord, via le module complémentaire TeamCity de Visual Studio, dotCover est capable d'obtenir les données de couverture d'un serveur TeamCity — sans exécuter d'analyse de couverture sur une machine locale.

D'autre part, le moteur d'analyse de couverture dotCover est inclus dans une version gratuite de TeamCity, ce qui permet de planifier des exécutions de couverture dans le cadre du processus d'intégration continue et de générer des rapports de couverture côté serveur. TeamCity comprend les résultats de l'exécution de la console dotCover et met en évidence ses erreurs et avertissements dans le journal de build.

Télécharger

Essai gratuit sur 30 jours disponible