Partager via


Générer et exécuter des tests unitaires à l’aide de tests GitHub Copilot pour .NET

Assurez-vous que votre code fonctionne comme prévu en créant et en exécutant des tests unitaires à l’aide des tests GitHub Copilot pour .NET.

Bien que Copilot puisse générer des tests unitaires, vous bénéficiez d’une fonctionnalité de test supplémentaire à l’aide du test GitHub Copilot pour .NET dans Visual Studio, notamment :

  • Les tests unitaires sont générés dans un projet distinct au sein de la solution.
  • Copilot génère des tests déterministes, ancrés dans la sémantique du compilateur et du langage C#, de sorte que les assertions et les cas de périphérie sont prévisibles et sécurisés.
  • Les tests de GitHub Copilot construisent les tests unitaires à la suite de la génération de tests. En cas d’erreur, la fonctionnalité de test unitaire dans GitHub Copilot pour .NET tente d’identifier et de corriger les erreurs, puis réexécrit les tests.
  • Les tests GitHub Copilot exécutent les tests à l’aide de l’Explorateur de tests.

Le test GitHub Copilot pour .NET génère des tests pour les projets C# uniquement à l’aide des frameworks MSTest, NUnit et xUnit. Si la solution a déjà des tests unitaires dans NUnit ou xUnit, le test GitHub Copilot pour .NET génère de nouveaux tests dans le même framework de test unitaire. S’il n’existe aucun test unitaire dans la solution, de nouveaux tests sont générés à l’aide de MSTest.

Prerequisites

Pour commencer, vous avez besoin des éléments suivants :

Conseil / Astuce

Pour une expérience optimale, nous vous suggérons d’utiliser un abonnement Copilot payant pour éviter une limitation potentielle et garantir un accès cohérent.

Pour une introduction aux tests unitaires, consultez les principes de base des tests unitaires.

Générer et exécuter des tests

  1. Ouvrez un projet C# existant qui a besoin de nouveaux tests.

    Si vous n’avez pas de projet existant, vous pouvez créer un projet, puis utiliser l’exemple de code d’application Bank pour expérimenter des tests unitaires. Copiez l’exemple de code de démarrage à partir de Create et exécutez des tests unitaires pour .NET dans Program.cs.

  2. Construisez le projet.

    Assurez-vous que le projet se construit sans erreurs pour simplifier le processus.

  3. Dans Visual Studio, sélectionnez Afficher>GitHub Copilot Chat.

  4. Utilisez la syntaxe suivante dans la fenêtre Conversation pour démarrer les tests GitHub Copilot et générer des tests :

    @test #target
    

    #target peut être le nom d’une solution, d’un projet, d’un fichier, d’une classe ou d’un membre.

    Note

    Vous pouvez être en mode Demander ou en mode Agent lorsque vous entrez la commande @test. Les résultats ne diffèrent pas.

    Pour l’exemple de code Bank, vous pouvez spécifier le nom de la classe : @test #BankAccount. La commande Test s’affiche dans la conversation comme suit, indiquant que la commande est reconnue.

    Capture d’écran de la commande pour générer des tests.

  5. Dans la fenêtre Conversation, sélectionnez Envoyer.

    Le test GitHub Copilot pour .NET lance un processus itératif d’analyse de votre code, en créant un projet pour les tests unitaires, en générant des tests, en créant et en exécutant les tests.

    La génération de test est un processus de longue durée. Selon l’étendue de votre cible (fichier, projet, solution, etc.), cela peut prendre un certain temps.

    Capture d’écran du démarrage de la génération de tests par Copilot.

    Lorsque des tests unitaires sont générés, les tests apparaissent dans un projet de test distinct dans la solution.

    Capture d’écran de l’exemple de test généré.

    L’Explorateur de tests affiche les résultats. Si l’Explorateur de tests n’est pas ouvert automatiquement par les tests de GitHub Copilot, sélectionnez Test>Explorateur de tests.

    Capture d’écran de la sortie de l’Explorateur de tests.

    À ce stade, vous pouvez utiliser manuellement l’Explorateur de tests pour continuer à exécuter des tests ou discuter avec Copilot sur les résultats des tests. Vous pouvez également utiliser Copilot pour déboguer des tests ayant échoué. Pour plus d'informations, consultez Déboguer les tests unitaires.