Attardons-nous sur une nouvelle fonctionnalité très intéressante annoncée lors de la web conférence Connect(); // 2016, à savoir l’exécution automatique de tests unitaires dans Visual Studio Enterprise 2017. Cette fonctionnalité vous permettra d’augmenter grandement votre productivité, la qualité ainsi que la couverture de code de vos projets. Visual Studio 2017 vous facilite tant la tâche que vous aimeriez presque écrire des tests unitaires, si ce n’est pas déjà le cas.

Pendant l’édition de votre code, Visual Studio 2017 exécute automatiquement les tests unitaires en arrière-plan. Vous pourrez ainsi visualiser les résultats et la couverture de code quasi-instantanément ! Et pour que cela soit possible sans trop d’impact sur les performances, le compilateur C# identifie intelligemment les tests couvrants vos modifications.

Exécution automatique d'un test unitaire

Activation de l’exécution des tests automatiques

Pour activer cette fonctionnalité, il suffit de se rendre dans le menu Test puis Live Unit Testing, comme indiqué dans la capture d’écran suivante :

live unit testing

Actuellement, les frameworks de tests supportés sont MSTestNUnit et xUnit. Selon celui que vous utilisez, il faudra un adaptateur téléchargeable sous forme de package Nuget. Attention, si vous avez créé un projet de tests unitaires basique via Visual Studio, pensez à retirer la référence vers l’assembly Microsoft. VisualStudio. QualityTools. UnitTestFramework.

Voici la liste des packages Nuget à ajouter en fonction du framework de test :

Affichage des résultats

Vous pouvez vérifier que votre code est couvert par un ou plusieurs tests, et si ceux-ci sont concluants ou non, au sein de l’éditeur dans la marge à gauche. Pour chaque ligne de code, une icône indique son statut :

  • Icône succès Code couvert par au moins un test en succès
  • Icône échec Code couvert par au moins un test en échec
  • Icône rien du tout Code qui n’est couvert par aucun test

Et voilà ! Vous n’aurez plus besoin d’exécuter les tests unitaires manuellement. Il est désormais facile d’identifier le code qui n’est pas couvert par des tests. Pour avoir plus de détails sur la couverture, vous pouvez survoler l’icône à côté de la ligne. Une popup indiquera le nombre de tests impliqués. En cliquant sur l’icône, vous obtiendrez la liste des tests avec la possibilité d’y accéder dans un autre onglet.

Détails des tests couvrants une ligne de code

Conclusion

Il était jusqu’à présent possible d’exécuter des tests automatiquement avec d’autres très bons outils payants tels que JetBrains dotCover ou NCrunch. Visual Studio 2017 arrivera-t-il à les remplacer ? Pour ma part, j’ai constaté que NCrunch exécute les tests plus rapidement et fournit beaucoup plus d’options. Je ne suis pas sûr de le remplacer de sitôt, j’attends la version finale de Visual Studio 2017 afin de me prononcer.

Exécution automatique des tests avec JetBrains dotCover ou NCrunch

Si vous n’étiez pas encore convaincus par le développement piloté par les tests, téléchargez donc Visual Studio 2017 RC pour vous faire un avis !

Ne ratez plus aucune actualité avec la newsletter mensuelle de SoftFluent

Newsletter SoftFluent