Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In dit artikel leert u hoe u eenheidstests en testprojecten in C# genereert met behulp van het xUnit-framework met behulp van Visual Studio-opdrachten en GitHub Copilot. Het gebruik van Visual Studio in combinatie met GitHub Copilot vereenvoudigt het proces van het genereren en schrijven van eenheidstests aanzienlijk.
Een testproject maken
Stel dat er een ProductService
klasse is met een GetProductById
methode die afhankelijk is van de IProductDataStorage
en ICacheClient
interfaces.
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;
}
}
Voer de volgende stappen uit om een testproject en een stub-methode te genereren:
- Selecteer de methode.
- Klik met de rechtermuisknop en selecteer Eenheidstests maken.
Selecteer in het dialoogvenster Eenheidstests makenxUnit in de vervolgkeuzelijst Test Framework .
Opmerking
De opdracht Moduletests maken is standaard ingesteld op het MSTest-framework. Omdat in dit voorbeeld echter xUnit wordt gebruikt, moet u de Visual Studio-extensie xUnit.net.TestGenerator2022 installeren.
- Als u nog geen testproject hebt, kiest u Nieuw testproject of selecteert u een bestaand testproject.
- Geef indien nodig een sjabloon op voor de naamruimte, klasse en methodenaam en klik op OK.
Na enkele seconden haalt Visual Studio de benodigde pakketten op en krijgt u een gegenereerd xUnit-project met de vereiste pakketten en structuur, een verwijzing naar het geteste project en de ProductServiceTests
klasse en een stub-methode.
De tests zelf genereren
Selecteer de methode die opnieuw wordt getest.
Klik met de rechtermuisknop en selecteer Copilot vragen.
Voer een eenvoudige prompt in, zoals:
"Eenheidstests genereren met behulp van xunit, nsubstitute en het resultaat invoegen in #ProductServiceTests bestand."
U moet uw testklasse selecteren wanneer u het
#
teken typt.
Hint
Voor snelle zoekopdrachten is het wenselijk dat het ProductServiceTests
geopend is op een afzonderlijk tabblad.
Voer de prompt uit, klik op Accepteren en Copilot genereert de testcode. Daarna blijft het om de benodigde pakketten te installeren.
Wanneer de pakketten zijn geïnstalleerd, kunnen de tests worden uitgevoerd. Dit voorbeeld was succesvol op de eerste poging: Copilot weet hoe met NSubstitute te werken en alle afhankelijkheden zijn via interfaces gedefinieerd.