Bekijk Visual Studio Code ondersteuning voor eenheidstests
Voordat u eenheidstests met GitHub Copilot kunt genereren, heeft uw project een werkend testframework nodig en een manier om tests binnen Visual Studio Code uit te voeren. Visual Studio Code, de .NET SDK en de C# Dev Kit-extensie bieden de omgeving die als host fungeert voor uw eenheidstests, terwijl GitHub Copilot zich richt op het genereren en verfijnen van de testcode. Als u de onderliggende omgeving begrijpt, is de GitHub Copilot werkstroom veel eenvoudiger te volgen.
In deze les worden de Visual Studio Code functies en C#-hulpprogramma's onderzocht die ondersteuning bieden voor eenheidstests. Latere eenheden richten zich op de wijze waarop GitHub Copilot de testcode genereert en onderhoudt die in deze omgeving wordt uitgevoerd.
Visual Studio Code ondersteuning voor eenheidstests
Als u C#-eenheidstests wilt maken en uitvoeren in Visual Studio Code, hebt u de volgende resources nodig:
- De .NET 8.0 SDK of hoger.
- De C# Dev Kit-extensie voor Visual Studio Code.
- Er is een testframeworkpakket toegevoegd aan uw project.
C# Dev Kit-ondersteuning voor eenheidstests
De C# Dev Kit-extensie biedt de testfuncties die u in deze module gebruikt:
- Test Explorer: een structuurweergave met alle testcases in uw werkruimte. U kunt Test Explorer openen door het beakerpictogram op de activiteitenbalk te selecteren.
- Testcases uitvoeren/fouten opsporen: Groene afspeelknoppen worden weergegeven in de editor naast elke testklasse en -methode. Klik met de rechtermuisknop op een afspeelknop om meer opties weer te geven.
- Testresultaten weergeven: Nadat een test is uitgevoerd, wordt het resultaat weergegeven in editorversieringen en in Test Explorer. Als u een koppeling in een stack-trace selecteert, gaat u naar de bronlocatie.
-
Testopdrachten: Opdrachten zoals
Test: Run All Testszijn beschikbaar in het opdrachtenpalet. Zoek naarTest:om de volledige lijst te bekijken. -
Testinstellingen: Instellingen waarmee het detectie- en runtimegedrag van tests worden bepaald, zijn beschikbaar in de instellingeneditor. Zoek naar
Testingom de beschikbare opties te zien.
De C# Dev Kit ondersteunt de volgende testframeworks:
- xUnit
- NUnit
- MSTest
Een testproject maken met behulp van het opdrachtpalet
Het opdrachtenpalet in Visual Studio Code biedt de eenvoudigste manier om een testproject te maken dat gebruikmaakt van een ondersteund framework. U kunt het opdrachtenpalet op de volgende manieren openen:
- Druk op de toetsen Ctrl + Shift + P (Windows/Linux)) of Cmd + Shift + P (macOS).
- Open het menu Beeld en selecteer vervolgens Opdrachtpalet.
- Open de Solution Explorer weergave, klik met de rechtermuisknop op de oplossingsmap en selecteer Nieuw Project. Met deze optie opent u het opdrachtpalet met de .NET: Nieuwe Project... opdracht al geselecteerd.
In de volgende secties ziet u hoe u een testproject maakt voor elk ondersteund framework.
xUnit
Open het opdrachtenpalet en selecteer .NET: Nieuwe Project... selecteert u xUnit Test Project en geeft u een naam en locatie op voor de nieuwe project. Met deze opdracht maakt u een project dat xUnit als testbibliotheek gebruikt en de testrunner configureert door de volgende <PackageReference /> elementen toe te voegen aan het projectbestand:
Microsoft.NET.Test.SdkxUnitxunit.runner.visualstudiocoverlet.collector
Vanuit de geïntegreerde Terminal kunt u een verwijzing uit het testproject toevoegen aan het project onder test:
dotnet add [location of your test csproj file] reference [location of the csproj file for project to be tested]
NUnit
Open het opdrachtenpalet en selecteer .NET: Nieuwe Project... selecteert u NUnit3 Test Project en geeft u een naam en locatie op voor de nieuwe project. Met deze opdracht maakt u een project dat NUnit als testbibliotheek gebruikt en voegt u de volgende <PackageReference /> elementen toe aan het projectbestand:
Microsoft.NET.Test.SdkNUnitNUnit3TestAdapter
Voeg een verwijzing naar het project toe onder test vanuit de Terminal:
dotnet add [location of your test csproj file] reference [location of the csproj file for project to be tested]
MSTest
Open het opdrachtenpalet en selecteer .NET: Nieuwe Project... selecteert u MSTest test Project en geeft u een naam en locatie op voor de nieuwe project. Met deze opdracht worden de volgende <PackageReference /> elementen aan het projectbestand toegevoegd:
Microsoft.NET.Test.SdkMSTest.TestAdapterMSTest.TestFrameworkcoverlet.collector
Voeg een verwijzing naar het project toe onder test vanuit de Terminal:
dotnet add [location of your test csproj file] reference [location of the csproj file for project to be tested]
Eenheidstests uitvoeren en beheren in Visual Studio Code
Nadat er een testproject bestaat, bieden Visual Studio Code en de C# Dev Kit u verschillende manieren om tests uit te voeren en te beheren:
- Uitvoeren/fouten opsporen vanuit de editor: selecteer de groene afspeelknop naast een klasse of methode om dat doel uit te voeren. Klik met de rechtermuisknop op de afspeelknop om opties weer te geven, zoals Test uitvoeren en Foutopsporingstest.
- Test Explorer: voer afzonderlijke tests, groepen of de volledige suite uit of debug deze vanuit de boomweergave. Testresultaten, inclusief pictogrammen voor slagen/mislukken en duur, worden naast elk item weergegeven.
- Testresultaten weergeven: editorversieringen en Test Explorer weerspiegelen beide de huidige status van elke test na een uitvoering. Selecteer de links in stacktraces om naar de regel met de fout te gaan.
-
Testopdrachten: gebruik opdrachten zoals
Test: Run All Tests,Test: Debug Failed TestsenTest: Show Outputvanuit het opdrachtenpalet. -
Testinstellingen: zoek naar
Testingin de instellingeneditor om gedrag te configureren, zoals automatisch uitvoeren bij het opslaan of testen van resultaatopmaak.
De werkstroom voor het testen van eenheden met GitHub Copilot
Wanneer u Visual Studio Code combineert met GitHub Copilot, wordt het eenheidstestproces onderverdeeld in drie fasen:
- De omgeving instellen: Gebruik Visual Studio Code, de .NET SDK en de C# Dev Kit om een testproject te maken en een verwijzing op te nemen naar het project dat wordt getest. U hebt deze fase in dit onderdeel voltooid.
- Code genereren: Gebruik GitHub Copilot in de chatweergave om eenheidstests voor uw toepassingscode te genereren. De volgende eenheden hebben betrekking op deze fase.
- Tests uitvoeren en onderhouden: Gebruik Test Explorer en de C# Dev Kit om tests uit te voeren en gebruik vervolgens GitHub Copilot om de dekking uit te breiden en mislukte tests op te lossen.
De resterende eenheden richten zich op de GitHub Copilot hulpprogramma's die fase 2 en 3 ondersteunen.