Examiner les outils et l’environnement de test unitaire
GitHub Copilot Conversation peut être utilisée pour suggérer des tests unitaires en fonction du code que vous spécifiez. Par exemple, si vous spécifiez une signature de méthode et un corps, GitHub Copilot Chat peut suggérer des cas de test qui couvrent les paramètres d’entrée et les valeurs de sortie attendues. Une fois que votre projet de test contient quelques cas de test, vous pouvez utiliser GitHub Copilot pour générer des suggestions de complétion de code pour des cas de test supplémentaires. L’utilisation des complétions de ligne de code pour générer des tests unitaires réduit le processus répétitif et permet de s’assurer que votre code est soigneusement testé.
GitHub Copilot Chat utilise le contexte et la sémantique de votre code pour suggérer des assertions qui garantissent que la fonction fonctionne correctement. Il vous aide également à écrire des cas de test pour les cas de périphérie et les conditions de délimitation qui peuvent être difficiles à identifier manuellement. Par exemple, GitHub Copilot Conversation peut suggérer des cas de test pour la gestion des erreurs, les valeurs Null ou les types d’entrée inattendus.
Important
Les cas de test générés peuvent ne pas couvrir tous les scénarios possibles. Les tests manuels et les révisions de code sont nécessaires pour garantir la qualité de votre code.
GitHub Copilot prise en charge des tests unitaires
GitHub Copilot pouvez vous aider à effectuer les tâches de test suivantes :
- Configurez des frameworks de test : obtenez de l’aide pour configurer l’infrastructure de test appropriée et les extensions VS Code pour votre projet et votre langage.
- Générer du code de test : créez des tests unitaires, des tests d’intégration et des tests de bout en bout qui couvrent votre code d’application.
- Gérer les cas limites : générez des suites de tests complètes pour couvrir les cas limites et les conditions d’erreur.
- Correction des tests défaillants : recevez des suggestions pour corriger les échecs de test.
- Maintenir la cohérence : personnalisez GitHub Copilot pour générer des tests qui suivent les pratiques de codage de votre projet.
Configurer votre framework de test
Pour accélérer votre flux de travail de test, GitHub Copilot pouvez vous aider à configurer l’infrastructure de test et les extensions VS Code pour votre projet. GitHub Copilot suggère des frameworks de test appropriés en fonction de votre type de projet.
Ouvrez la vue Conversation.
Entrez la
/setupTestscommande dans le champ d’entrée de conversation.Suivez les instructions de GitHub Copilot pour configurer votre projet.
Écrire des tests unitaires avec GitHub Copilot
GitHub Copilot pouvez vous aider à écrire des tests pour votre code d’application en générant du code de test qui couvre votre base de code. Cela inclut les tests unitaires, les tests de bout en bout et les tests pour les cas de périphérie.
Vous pouvez générer des tests unitaires à l’aide des outils de GitHub Copilot suivants :
- Mode Conversation : Utilisez l’affichage Conversation pour générer des tests unitaires pour un projet, une classe ou une méthode à l’aide de Ask, Plan ou Agent.
- Inline Chat : Utilisez Inline Chat pour générer des tests unitaires pour les classes ou méthodes sélectionnées.
- Actions intelligentes : utilisez l’action Générer des tests intelligents pour générer des tests unitaires pour le code sélectionné sans écrire d’invite.
- Complétions de ligne de code : utilisez les complétions de ligne de code pour suggérer des tests unitaires supplémentaires pour un cas de test existant.
Corriger les tests défaillants
GitHub Copilot s’intègre à l’Explorateur de tests dans Visual Studio Code et peut vous aider à corriger les tests défaillants.
Dans l’Explorateur de tests, pointez sur un test défaillant.
Sélectionnez le bouton Corriger l’échec du test (icône sparkle)
Passez en revue et appliquez le correctif suggéré par GitHub Copilot.
Sinon, vous pouvez :
Ouvrez la vue Conversation.
Entrez la
/fixTestFailurecommande slash.Suivez les suggestions de GitHub Copilot pour corriger le test
Conseil / Astuce
Lorsque vous utilisez GitHub Copilot en mode Agent, l’agent surveille la sortie de test lors de l’exécution des tests et tente automatiquement de corriger et de réexécuter les tests défaillants.
Maintenir la cohérence
Si votre organisation a des exigences de test spécifiques, vous pouvez personnaliser la façon dont GitHub Copilot génère des tests pour s’assurer qu’ils répondent à vos normes. Vous pouvez personnaliser la façon dont GitHub Copilot génère des tests en fournissant des instructions personnalisées. Par exemple:
- Spécifier les frameworks de test préférés
- Définir des conventions d’affectation de noms pour les tests
- Définir les préférences de structure de code
- Demander des modèles ou méthodologies de test spécifiques
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# pour Visual Studio Code fournit un ensemble complet de fonctionnalités pour vous aider à créer et gérer des tests unitaires pour vos projets C#. Il comprend les fonctionnalités suivantes :
- Explorateur de tests : une arborescence qui permet d’afficher tous les cas de test de votre espace de travail.
- Fonction exécuter/déboguer des cas de test - une fonctionnalité permettant d’exécuter et de déboguer des cas de test.
- Afficher les résultats de tests : une fonctionnalité permettant d’afficher les résultats de tests.
- Commandes de test : des commandes pour exécuter tous les tests, exécuter des tests ayant échoué, etc.
- Paramètres de test : des paramètres spécifiques aux tests.
- Package d’infrastructure de test
Le kit de développement C# prend en charge les infrastructures de tests suivantes :
- xUnit
- NUnit
- MSTest
Le kit de développement C# vous permet de créer un projet de test, d’ajouter un package d’infrastructure de test et de gérer des tests unitaires.
Activation d’une infrastructure de tests
La palette de commandes dans Visual Studio Code offre le moyen le plus simple d’activer une infrastructure de test pour votre projet. 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 Solution Explorer, cliquez avec le bouton droit sur le dossier de la solution, puis sélectionnez New Project. Cette option ouvre la palette de commandes avec le .NET :Nouveau projet... commande déjà sélectionnée.
Les sections suivantes décrivent comment activer une infrastructure de test pour votre projet C# à l’aide de la palette de commandes.
xUnit
Ouvrez la palette de commandes et sélectionnez .NET :Nouveau projet... puis sélectionnez xUnit Test Project et fournissez le nom et l’emplacement du nouveau projet. Cette commande crée un projet et un répertoire 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.SdkxUnitxunit.runner.visualstudiocoverlet.collector
Dans le terminal, vous pouvez exécuter la commande suivante :
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 projet... puis sélectionnez NUnit3 Test Project et fournissez le nom et l’emplacement du nouveau projet. Cette commande crée un projet et un répertoire qui utilise NUnit 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.SdkNUnitNUnit3TestAdapter
Dans le terminal, exécutez la commande suivante :
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 projet... puis sélectionnez MSTest Test Project et fournissez le nom et l’emplacement du nouveau projet. Cette commande crée un projet et un répertoire qui utilise MSTest 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.SdkMSTest.TestAdapterMSTest.TestFrameworkcoverlet.collector
Dans le terminal, exécutez la commande suivante :
dotnet add [location of your test csproj file] reference [location of the csproj file for project to be tested]
Développer des tests unitaires dans Visual Studio Code à l’aide de GitHub Copilot Conversation
La combinaison de Visual Studio Code et GitHub Copilot Chat offre un environnement puissant pour créer et exécuter des tests unitaires pour vos projets C#.
Le processus de test unitaire peut être décomposé en trois phases :
- Utilisez Visual Studio Code pour créer un projet de test pour vos tests unitaires.
- Utilisez GitHub Copilot Chat pour développer des cas de test unitaires pour votre projet C#.
- Utilisez Visual Studio Code et le Kit de développement C# pour exécuter et gérer vos tests unitaires.
Créer un projet de test
Vous devez créer un projet de test destiné à accueillir vos tests unitaires. Vous pouvez utiliser Visual Studio Code pour effectuer les tâches suivantes :
Utilisez la palette de commandes pour créer un projet de test utilisant une infrastructure de test spécifiée.
Utilisez le terminal intégré pour ajouter une référence au projet que vous testez.
Ce processus crée un projet, et configure Test Runner pour l’infrastructure sélectionnée.
Générer des cas de test unitaire à l’aide de GitHub Copilot Conversation
GitHub Copilot Chat peut être utilisé pour vous aider à écrire des cas de test unitaires pour votre infrastructure de test. GitHub Copilot Chat reconnaît votre framework de test et votre style de codage et génère des extraits de code correspondants. Vous pouvez utiliser GitHub Copilot Conversation pour effectuer les tâches suivantes :
Écrire des cas de test unitaire pour votre infrastructure de tests en fonction du code ouvert dans l’éditeur, ou de l’extrait de code que vous mettez en surbrillance dans l’éditeur. GitHub Copilot identifie votre framework de test et votre style de codage et génère des extraits de code correspondants.
Identifier et écrire des cas de test pour les situations extrêmes et les conditions limites qui peuvent être difficiles à identifier manuellement. Par exemple, GitHub Copilot peut suggérer des cas de test pour la gestion des erreurs, les valeurs nulles ou les types d’entrée inattendus.
Suggérer des assertions qui vérifient si la fonction s’exécute correctement, selon le contexte et la sémantique du code. Par exemple, générez des assertions pour vérifier que les paramètres d’entrée de fonction sont valides.
Tenez compte des scénarios suivants lorsque vous demandez à GitHub Copilot Conversation de générer des cas de test unitaire :
Si une seule méthode est visible dans l’éditeur, vous pouvez demander à GitHub Copilot Chat de générer un test unitaire pour la méthode en tapant
Write a unit test for the method in the #editor.S'il existe plusieurs méthodes visibles ou si la méthode prévue s'étend au-delà de ce qui est visible dans l'éditeur, sélectionnez le code pour lequel vous souhaitez générer un test unitaire, puis demandez GitHub Copilot :
#selection write a unit test for the selected code.
Exécuter et gérer des tests unitaires dans Visual Studio Code
Visual Studio Code et le Kit de développement C# fournissent un ensemble complet de fonctionnalités pour vous aider à exécuter et à gérer des tests unitaires pour vos projets C#. Vous pouvez exécuter/déboguer des cas de test, voir les résultats des tests et gérer les cas de test à l’aide de l’Explorateur de tests.
Exécuter/déboguer des cas de test : C# Dev Kit génère des raccourcis (bouton de lecture vert) sur le côté gauche de la définition de classe et de méthode. Pour exécuter les cas de test ciblés, sélectionnez le bouton de lecture vert. Vous pouvez également cliquer avec le bouton droit sur celui-ci pour voir plus d’options.
Explorateur de tests : L’Explorateur de tests est une arborescence qui permet d’afficher tous les cas de test de votre espace de travail. Vous pouvez sélectionner le bouton beaker dans la barre d’activité de gauche de Visual Studio Code pour l’ouvrir. Vous pouvez également exécuter/déboguer vos cas de test, et voir ensuite les résultats des tests correspondants.
Voir les résultats des tests : Une fois les cas de test exécutés/débogués, l’état des éléments de test associés est mis à jour dans les décorations de l’éditeur et dans l’Explorateur de tests. Vous pouvez sélectionner les liens dans la trace de pile pour accéder à l’emplacement source.
Visual Studio Code commandes de test : il existe des commandes de test (par exemple, Exécuter tous les tests) qui sont disponibles en recherchant Test : dans la palette de commandes.
Visual Studio Code paramètres de test : il existe Visual Studio Code paramètres spécifiques aux tests qui peuvent être trouvés en recherchant test dans l’éditeur Paramètres.
Résumé
GitHub Copilot Conversation peut être utilisée pour suggérer des tests unitaires en fonction du code que vous spécifiez. Par exemple, si vous spécifiez une signature de méthode et un corps, GitHub Copilot Chat peut suggérer des cas de test qui couvrent les paramètres d’entrée et les valeurs de sortie attendues. Une fois que votre projet de test contient quelques cas de test, vous pouvez utiliser GitHub Copilot pour générer des suggestions de complétion de code pour des cas de test supplémentaires. L’utilisation des complétions de ligne de code pour générer des tests unitaires réduit le processus répétitif et permet de s’assurer que votre code est soigneusement testé.
GitHub Copilot Chat utilise le contexte et la sémantique de votre code pour suggérer des assertions qui garantissent que la fonction fonctionne correctement. Il vous aide également à écrire des cas de test pour les cas de périphérie et les conditions de délimitation qui peuvent être difficiles à identifier manuellement. Par exemple, GitHub Copilot Conversation peut suggérer des cas de test pour la gestion des erreurs, les valeurs Null ou les types d’entrée inattendus.