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.
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.
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.
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).
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.
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.
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.
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.
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.
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.
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 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.
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.
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.
Essai gratuit sur 30 jours disponible