Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Dans cet article, vous allez découvrir comment générer des tests unitaires et des projets de test en C# à l’aide de l’infrastructure xUnit à l’aide des commandes Visual Studio et de GitHub Copilot. L’utilisation de Visual Studio en combinaison avec GitHub Copilot simplifie considérablement le processus de génération et d’écriture de tests unitaires.
Créer un projet de test
Imaginez qu’il existe une ProductService
classe avec une GetProductById
méthode qui dépend des interfaces IProductDataStorage
et ICacheClient
.
public class ProductService(
IProductDataStorage productDataStorage,
ICacheClient cacheClient)
{
public async Task<Product?> GetProductById(int productId)
{
var product = await cacheClient.GetProduct(productId);
if (product is not null)
{
return product;
}
product = await productDataStorage.GetProduct(productId);
if (product is not null)
{
await _cacheClient.SetProduct(product);
}
return product;
}
}
Pour générer un projet de test et une méthode stub, procédez comme suit :
- Sélectionnez la méthode.
- Cliquez avec le bouton droit et sélectionnez Créer des tests unitaires.
Dans la boîte de dialogue Créer des tests unitaires , sélectionnez xUnit dans le menu déroulant Infrastructure de test .
Remarque
La commande Créer des tests unitaires est par défaut dans l’infrastructure MSTest. Toutefois, étant donné que cet exemple utilise xUnit, vous devez installer l’extension Visual Studio xUnit.net.TestGenerator2022.
- Si vous n’avez pas encore de projet de test, choisissez Nouveau projet de test ou sélectionnez-en un existant.
- Si nécessaire, spécifiez un modèle pour l’espace de noms, la classe et le nom de la méthode, puis cliquez sur OK.
Après quelques secondes, Visual Studio extrait les packages nécessaires et vous obtenez un projet xUnit généré avec les packages et la structure requis, une référence au projet testé, ainsi que la ProductServiceTests
classe et une méthode stub.
Générer les tests eux-mêmes
Sélectionnez à nouveau la méthode testée.
Cliquez avec le bouton droit et sélectionnez Demander à Copilot.
Entrez une invite simple, par exemple :
« Générez des tests unitaires à l’aide de xunit, nsubstitute et insérez le résultat dans #ProductServiceTests fichier. »
Vous devez sélectionner votre classe de test lorsque vous tapez le
#
caractère.
Conseil / Astuce
Pour une recherche rapide, il est souhaitable d’ouvrir ProductServiceTests
dans un onglet distinct.
Exécutez l’invite, cliquez sur Accepter et Copilot génère le code de test. Après cela, il reste à installer les packages nécessaires.
Lorsque les packages sont installés, les tests peuvent être exécutés. Cet exemple a travaillé sur la première tentative : Copilot sait comment utiliser NSubstitute, et toutes les dépendances ont été définies par le biais d’interfaces.