Examiner la prise en charge des tests unitaires dans Visual Studio Code

Effectué

Avant de pouvoir générer des tests unitaires avec GitHub Copilot, votre projet a besoin d’une infrastructure de test de travail et d’un moyen d’exécuter des tests à l’intérieur de Visual Studio Code. Visual Studio Code, le SDK .NET et l’extension du Kit de développement C# fournissent l’environnement qui héberge vos tests unitaires, tandis que GitHub Copilot se concentre sur la génération et l’affinement du code de test. Comprendre l’environnement sous-jacent rend le flux de travail GitHub Copilot beaucoup plus facile à suivre.

Cette unité examine les fonctionnalités Visual Studio Code et les outils C# qui prennent en charge les tests unitaires. Les unités ultérieures se concentrent sur la façon dont GitHub Copilot génère et gère le code de test qui s’exécute dans cet environnement.

Prise en charge des tests unitaires dans Visual Studio Code

Pour créer et exécuter des tests unitaires C# dans Visual Studio Code, vous avez besoin des ressources suivantes :

  • Kit de développement logiciel (SDK) .NET 8.0 ou version ultérieure.
  • Extension du Kit de développement C# pour Visual Studio Code.
  • Package d’infrastructure de tests ajouté à votre projet.

Prise en charge des tests unitaires par C# Dev Kit

L’extension du Kit de développement C# fournit les fonctionnalités de test que vous utilisez tout au long de ce module :

  • Explorateur de tests : arborescence qui affiche tous les cas de test dans votre espace de travail. Vous pouvez ouvrir l’Explorateur de tests en sélectionnant l’icône beaker dans la barre d’activité.
  • Exécuter/déboguer des cas de test : des boutons verts de lecture apparaissent dans l’éditeur à côté de chaque classe et méthode de test. Cliquez avec le bouton droit sur un bouton de lecture pour afficher d’autres options.
  • Afficher les résultats des tests : après une exécution de test, le résultat est reflété dans les décorations de l’éditeur et dans l’Explorateur de tests. La sélection d’un lien dans une trace de pile accède à l’emplacement source.
  • Commandes de test : des commandes comme Test: Run All Tests sont disponibles dans la palette de commandes. Test: Recherchez pour afficher la liste complète.
  • Paramètres de test : les paramètres qui contrôlent la découverte des tests et le comportement d’exécution sont disponibles dans l’éditeur Paramètres. Recherchez Testing pour voir les options disponibles.

Le kit de développement C# prend en charge les infrastructures de tests suivantes :

  • xUnit
  • NUnit
  • MSTest

Créer un projet de test à l’aide de la palette de commandes

La palette de commandes dans Visual Studio Code offre le moyen le plus simple de créer un projet de test qui utilise une infrastructure prise en charge. Vous pouvez ouvrir la palette de commandes des manières suivantes :

  • Appuyez sur les touches Ctrl + Shift + P (Windows/Linux) ou Cmd + Shift + P (macOS).
  • Ouvrez le menu Affichage , puis sélectionnez Palette de commandes.
  • Ouvrez la vue Explorateur de solutions, cliquez avec le bouton droit sur le dossier de la solution, puis sélectionnez New Project. Cette option ouvre la palette de commandes avec la commande .NET : Nouveau projet... déjà sélectionnée.

Les sections suivantes montrent comment créer un projet de test pour chaque infrastructure prise en charge.

xUnit

Ouvrez la palette de commandes et sélectionnez .NET : Nouveau Project... , sélectionnez xUnit Test Project, puis fournissez un nom et un emplacement pour la nouvelle project. Cette commande crée un projet qui utilise xUnit comme bibliothèque de tests et configure l’exécuteur de test en ajoutant les éléments suivants <PackageReference /> au fichier projet :

  • Microsoft.NET.Test.Sdk
  • xUnit
  • xunit.runner.visualstudio
  • coverlet.collector

À partir du terminal intégré, vous pouvez ajouter une référence du projet de test au projet sous test :

dotnet add [location of your test csproj file] reference [location of the csproj file for project to be tested]

NUnit

Ouvrez la palette de commandes et sélectionnez .NET : Nouveau Project... , sélectionnez NUnit3 Test Project, puis fournissez un nom et un emplacement pour le nouveau project. Cette commande crée un projet qui utilise NUnit comme bibliothèque de tests et ajoute les éléments suivants <PackageReference /> au fichier projet :

  • Microsoft.NET.Test.Sdk
  • NUnit
  • NUnit3TestAdapter

Ajoutez une référence au projet testé à partir du terminal :

dotnet add [location of your test csproj file] reference [location of the csproj file for project to be tested]

MSTest

Ouvrez la palette de commandes et sélectionnez .NET : Nouveau Project... , sélectionnez MSTest Test Project, puis fournissez un nom et un emplacement pour le nouveau project. Cette commande ajoute les éléments suivants <PackageReference /> au fichier projet :

  • Microsoft.NET.Test.Sdk
  • MSTest.TestAdapter
  • MSTest.TestFramework
  • coverlet.collector

Ajoutez une référence au projet testé à partir du terminal :

dotnet add [location of your test csproj file] reference [location of the csproj file for project to be tested]

Exécuter et gérer des tests unitaires dans Visual Studio Code

Une fois qu’un projet de test existe, Visual Studio Code et le kit de développement C# vous offrent plusieurs façons d’exécuter et de gérer des tests :

  • Exécuter/Déboguer à partir de l’éditeur : sélectionnez le bouton de lecture vert en regard d’une classe ou d’une méthode pour exécuter cette cible. Cliquez avec le bouton droit sur le bouton de lecture pour voir des options comme Exécuter le test et Déboguer le test.
  • Explorateur de tests : Exécutez ou déboguez des tests individuels, des groupes de tests ou toute la suite depuis l’arborescence. Les résultats des tests, y compris les icônes de réussite/échec et les durées, apparaissent en regard de chaque élément.
  • Afficher les résultats des tests : les décorations de l’éditeur et l’Explorateur de tests reflètent tous les deux l’état actuel de chaque test après une exécution. Sélectionnez des liens dans les traces de pile pour accéder à la ligne défaillante.
  • Commandes de test : utilisez des commandes telles que Test: Run All Tests, Test: Debug Failed Testset Test: Show Output à partir de la palette de commandes.
  • Paramètres de test : recherchez Testing dans l’éditeur Paramètres pour configurer le comportement, par exemple l’exécution automatique lors de l’enregistrement ou de la mise en forme des résultats de test.

Flux de travail de test unitaire avec GitHub Copilot

Lorsque vous combinez Visual Studio Code avec GitHub Copilot, le processus de test unitaire se décompose en trois étapes :

  1. Configurez l’environnement : utilisez Visual Studio Code, le Kit de développement logiciel (SDK) .NET et le Kit de développement logiciel (SDK) C# pour créer un projet de test et référencer le projet en cours de test. Vous avez terminé cette étape dans cette unité.
  2. Générer du code de test : utilisez GitHub Copilot dans la vue Chat pour générer des tests unitaires pour le code de votre application. Les unités suivantes couvrent cette étape.
  3. Exécuter et gérer les tests : Utilisez l’Explorateur de tests et le Kit de développement C# pour exécuter des tests, puis utilisez GitHub Copilot pour étendre la couverture et corriger les tests défaillants.

Les unités restantes se concentrent sur les outils GitHub Copilot qui prennent en charge les phases 2 et 3.