De hulpprogramma's en omgeving voor het testen van eenheden onderzoeken

Voltooid

GitHub Copilot Chat kan worden gebruikt om eenheidstests voor te stellen op basis van de code die u opgeeft. Als u bijvoorbeeld een methodehandtekening en hoofdtekst opgeeft, kan GitHub Copilot Chat testcases voorstellen die betrekking hebben op invoerparameters en verwachte uitvoerwaarden. Zodra uw testproject enkele testcases bevat, kunt u GitHub Copilot gebruiken om suggesties voor het voltooien van code te genereren voor aanvullende testcases. Door coderegelvoltooiingen te gebruiken om eenheidstests te genereren, wordt het terugkerende proces verminderd en wordt ervoor gezorgd dat uw code grondig wordt getest.

GitHub Copilot Chat gebruikt de context en semantiek van uw code om asserties voor te stellen die ervoor zorgen dat de functie correct werkt. Het helpt u ook bij het schrijven van testcases voor edge-cases en grensvoorwaarden die mogelijk moeilijk handmatig kunnen worden geïdentificeerd. GitHub Copilot Chat kan bijvoorbeeld testcases voorstellen voor foutafhandeling, null-waarden of onverwachte invoertypen.

Belangrijk

Gegenereerde testcases omvatten mogelijk niet alle mogelijke scenario's. Handmatig testen en codebeoordelingen zijn nodig om de kwaliteit van uw code te waarborgen.

GitHub Copilot ondersteuning voor eenheidstests

GitHub Copilot kunt u helpen met de volgende testtaken:

  • Testframeworks instellen: hulp krijgen bij het configureren van het juiste testframework en VS Code-extensies voor uw project en taal.
  • Testcode genereren: eenheidstests, integratietests en end-to-endtests maken die betrekking hebben op uw toepassingscode.
  • Edge-aanvragen verwerken: uitgebreide testsuites genereren om edge-aanvragen en foutvoorwaarden te behandelen.
  • Mislukte tests oplossen: ontvang suggesties voor het oplossen van testfouten.
  • Consistentie behouden: pas GitHub Copilot aan om tests te genereren die voldoen aan de coderingsprocedures van uw project.

Uw testframework instellen

Als u uw testwerkstroom wilt versnellen, kunt GitHub Copilot u helpen bij het instellen van het testframework en de VS Code-extensies voor uw project. GitHub Copilot stelt de juiste testframeworks voor op basis van uw projecttype.

  1. Open de chatweergave.

  2. Voer de /setupTests opdracht in het invoerveld van de chat in.

  3. Volg de richtlijnen van GitHub Copilot om uw project te configureren.

Eenheidstests schrijven met GitHub Copilot

GitHub Copilot kunt u helpen bij het schrijven van tests voor uw toepassingscode door testcode te genereren die betrekking heeft op uw codebasis. Dit omvat eenheidstests, end-to-end tests en tests voor edge-cases.

U kunt eenheidstests genereren met behulp van de volgende GitHub Copilot hulpprogramma's:

  • Chatweergave: Gebruik de chatweergave om eenheidstests te genereren voor een project, klasse of methode met behulp van de vraag, het plan of de agent.
  • Inline Chat: Gebruik Inline Chat om eenheidstests te genereren voor geselecteerde klassen of methoden.
  • Slimme acties: gebruik de slimme actie Tests genereren om eenheidstests voor geselecteerde code te genereren zonder een prompt te schrijven.
  • Voltooiingen van de coderegel: gebruik voltooiingen van coderegels om aanvullende unit tests voor een bestaande testcase voor te stellen.

Mislukte tests oplossen

GitHub Copilot integreert met Test Explorer in Visual Studio Code en kan helpen bij het oplossen van mislukte tests.

  1. Beweeg in Test Explorer de muisaanwijzer over een mislukte test.

  2. Selecteer de knop Testfout oplossen (sparkle-pictogram)

  3. Bekijk en pas de voorgestelde oplossing van GitHub Copilot toe.

U kunt ook:

  1. Open de chatweergave.

  2. Voer de /fixTestFailure slash-opdracht in.

  3. Volg de suggesties van GitHub Copilot om de test te herstellen

Aanbeveling

Wanneer u GitHub Copilot gebruikt in de agentmodus, controleert de agent de testuitvoer bij het uitvoeren van tests en probeert deze automatisch mislukte tests op te lossen en opnieuw uit te voeren.

Consistentie behouden

Als uw organisatie specifieke testvereisten heeft, kunt u aanpassen hoe GitHub Copilot tests genereert om ervoor te zorgen dat ze voldoen aan uw standaarden. U kunt aanpassen hoe GitHub Copilot tests genereert door aangepaste instructies te geven. Voorbeeld:

  • Frameworks voor voorkeurstests opgeven
  • Naamconventies definiëren voor tests
  • Voorkeuren voor codestructuur instellen
  • Specifieke testpatronen of methodologieën aanvragen

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 voor Visual Studio Code biedt een uitgebreide set functies die u helpen bij het maken en beheren van eenheidstests voor uw C#-projecten. Het bevat de volgende functies:

  • Test Explorer: een structuurweergave om alle testcases in uw werkruimte weer te geven.
  • Testcases uitvoeren/fouten opsporen: een functie voor het uitvoeren en opsporen van fouten in testcases.
  • Testresultaten weergeven : een functie om de testresultaten weer te geven.
  • Testopdrachten: opdrachten om alle tests uit te voeren, mislukte tests uit te voeren en meer.
  • Testinstellingen: instellingen die specifiek zijn voor testen.
  • Framework-pakket testen

De C# Dev Kit ondersteunt de volgende testframeworks:

  • xUnit
  • NUnit
  • MSTest

Met de C# Dev Kit kunt u een testproject maken, een testframeworkpakket toevoegen en eenheidstests beheren.

Een testframework inschakelen

Het opdrachtpalet in Visual Studio Code biedt de eenvoudigste manier om een testframework in te schakelen voor uw project. 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 weergave Solution Explorer, klik met de rechtermuisknop op de oplossingsmap en selecteer Nieuw project. Met deze optie opent u het opdrachtenpalet met de .NET:Nieuw project... opdracht al geselecteerd.

In de volgende secties wordt beschreven hoe u een testframework voor uw C#-project inschakelt met behulp van het opdrachtenpalet.

xUnit

Open het opdrachtenpalet en selecteer .NET:Nieuw project... selecteer vervolgens xUnit Test Project en geef naam en locatie op voor het nieuwe project. Met deze opdracht maakt u een nieuw project en een nieuwe map die xUnit als testbibliotheek gebruikt en de testrunner configureert door de volgende <PackageReference /> elementen toe te voegen aan het projectbestand.

  • Microsoft.NET.Test.Sdk
  • xUnit
  • xunit.runner.visualstudio
  • coverlet.collector

Vanuit terminal kunt u de volgende opdracht uitvoeren:


   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:Nieuw project... selecteer vervolgens NUnit3 TestProject en geef naam en locatie op voor het nieuwe project. Met deze opdracht maakt u een nieuw project en een nieuwe map die NUnit als testbibliotheek gebruikt en de testrunner configureert door de volgende <PackageReference /> elementen toe te voegen aan het projectbestand.

  • Microsoft.NET.Test.Sdk
  • NUnit
  • NUnit3TestAdapter

Voer vanuit terminal de volgende opdracht uit:

    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:Nieuw project... selecteer vervolgens MSTest Test Project en geef de naam en locatie op voor het nieuwe project. Met deze opdracht maakt u een nieuw project en een nieuwe map die MSTest als testbibliotheek gebruikt en de testrunner configureert door de volgende <PackageReference /> elementen toe te voegen aan het projectbestand.

  • Microsoft.NET.Test.Sdk
  • MSTest.TestAdapter
  • MSTest.TestFramework
  • coverlet.collector

Voer vanuit terminal de volgende opdracht uit:

    dotnet add [location of your test csproj file] reference [location of the csproj file for project to be tested]

Eenheidstests ontwikkelen in Visual Studio Code met behulp van GitHub Copilot Chat

De combinatie van Visual Studio Code en GitHub Copilot Chat biedt een krachtige omgeving voor het maken en uitvoeren van eenheidstests voor uw C#-projecten.

Het testproces voor eenheden kan worden onderverdeeld in drie fasen:

  • Gebruik Visual Studio Code om een testproject te maken voor uw eenheidstests.
  • Gebruik GitHub Copilot Chat om testcases voor eenheden te ontwikkelen voor uw C#-project.
  • Gebruik Visual Studio Code en de C# Dev Kit om uw eenheidstests uit te voeren en te beheren.

Een testproject maken

U moet een testproject maken dat wordt gebruikt voor het opslaan van uw unittests. U kunt Visual Studio Code gebruiken om de volgende taken uit te voeren:

  1. Gebruik het opdrachtpalet om een testproject te maken dat gebruikmaakt van een opgegeven testframework.

  2. Gebruik de geïntegreerde terminal om een verwijzing toe te voegen naar het project dat u test.

Met dit proces maakt u een nieuw project en configureert u de testrunner voor het geselecteerde framework.

Testcases voor eenheden genereren met behulp van GitHub Copilot Chat

GitHub Copilot Chat helpt je bij het schrijven van eenheidstestcases voor je testframework. GitHub Copilot Chat herkent uw testframework en codestijl en genereert overeenkomende codefragmenten. U kunt GitHub Copilot Chat gebruiken om de volgende taken uit te voeren:

  • Schrijf testcases voor eenheden voor uw testframework op basis van de code die is geopend in de editor of het codefragment dat u markeert in de editor. GitHub Copilot identificeert uw testframework en codestijl en genereert overeenkomende codefragmenten.

  • Testcases identificeren en schrijven voor edge-cases en grensvoorwaarden die mogelijk moeilijk handmatig te identificeren zijn. GitHub Copilot kan bijvoorbeeld testcases voorstellen voor foutafhandeling, null-waarden of onverwachte invoertypen.

  • Stel asserties voor die ervoor zorgen dat de functie correct werkt, op basis van de context en semantiek van de code. Genereer bijvoorbeeld asserties om ervoor te zorgen dat functie-invoerparameters geldig zijn.

Houd rekening met de volgende scenario's wanneer u GitHub Copilot Chat vraagt om testcases voor eenheden te genereren:

  • Als één methode volledig zichtbaar is in de editor, kunt u GitHub Copilot Chat vragen om een eenheidstest voor de methode te genereren door Write a unit test for the method in the #editor te typen.

  • Als er meerdere methoden zichtbaar zijn of als de beoogde methode verder gaat dan wat zichtbaar is in de editor, selecteert u de code waarvoor u een eenheidstest wilt genereren en vraagt u GitHub Copilot: #selection write a unit test for the selected code.

Eenheidstests uitvoeren en beheren in Visual Studio Code

Visual Studio Code en de C# Dev Kit bieden een uitgebreide set functies om u te helpen bij het uitvoeren en beheren van eenheidstests voor uw C#-projecten. U kunt testcases uitvoeren/fouten opsporen, testresultaten weergeven en testcases beheren met behulp van Test Explorer.

  • Testcases uitvoeren/fouten opsporen: C# Dev Kit genereert snelkoppelingen (de groene afspeelknop) aan de linkerkant van de klasse- en methodedefinitie. Als u de doeltestcases wilt uitvoeren, selecteert u de groene afspeelknop. U kunt er ook met de rechtermuisknop op klikken om meer opties weer te geven.

  • Test Explorer: De Test Explorer is een boomstructuurweergave om alle testcases in uw werkruimte weer te geven. U kunt de knop Beaker selecteren op de activiteitenbalk aan de linkerkant van Visual Studio Code om deze te openen. U kunt ook uw testcases uitvoeren/fouten opsporen en hun testresultaten daar bekijken.

  • Testresultaten weergeven: Na het uitvoeren/debuggen van de testcases wordt de status van de gerelateerde testitems bijgewerkt in zowel de editorweergave als de Test Explorer. U kunt de koppelingen in de stacktracering selecteren om naar de bronlocatie te navigeren.

  • Visual Studio Code testopdrachten: Er zijn testopdrachten (bijvoorbeeld Alle tests uitvoeren) die u kunt vinden door te zoeken naar Test: in het opdrachtenpalet.

  • Visual Studio Code testinstellingen: er zijn Visual Studio Code instellingen die specifiek zijn voor testen die kunnen worden gevonden door te zoeken naar Testen in de editor Instellingen.

Samenvatting

GitHub Copilot Chat kan worden gebruikt om eenheidstests voor te stellen op basis van de code die u opgeeft. Als u bijvoorbeeld een methodehandtekening en hoofdtekst opgeeft, kan GitHub Copilot Chat testcases voorstellen die betrekking hebben op invoerparameters en verwachte uitvoerwaarden. Zodra uw testproject enkele testcases bevat, kunt u GitHub Copilot gebruiken om suggesties voor het voltooien van code te genereren voor aanvullende testcases. Door coderegelvoltooiingen te gebruiken om eenheidstests te genereren, wordt het terugkerende proces verminderd en wordt ervoor gezorgd dat uw code grondig wordt getest.

GitHub Copilot Chat gebruikt de context en semantiek van uw code om asserties voor te stellen die ervoor zorgen dat de functie correct werkt. Het helpt u ook bij het schrijven van testcases voor edge-cases en grensvoorwaarden die mogelijk moeilijk handmatig kunnen worden geïdentificeerd. GitHub Copilot Chat kan bijvoorbeeld testcases voorstellen voor foutafhandeling, null-waarden of onverwachte invoertypen.