Undersøk Visual Studio Code-støtte for enhetstesting
Før du kan generere enhetstester med GitHub Copilot, trenger prosjektet ditt et fungerende testrammeverk og en måte å kjøre tester inne i Visual Studio Code. Visual Studio Code, .NET SDK og C# Dev Kit-utvidelsen gir miljøet som hoster enhetstestene dine, mens GitHub Copilot fokuserer på å generere og forbedre testkoden. Å forstå det underliggende miljøet gjør GitHub Copilot-arbeidsflyten mye enklere å følge.
Denne enheten undersøker funksjonene i Visual Studio Code og C#-verktøy som støtter enhetstesting. Senere enheter fokuserer på hvordan GitHub Copilot genererer og vedlikeholder testkoden som kjører i dette miljøet.
Visual Studio Code-støtte for enhetstester
For å lage og kjøre C#-enhetstester i Visual Studio Code, trenger du følgende ressurser:
- .NET 8.0 SDK eller nyere.
- C# Dev Kit-utvidelsen for Visual Studio Code.
- En testrammepakke lagt til i prosjektet.
C# Utviklingssett-støtte for enhetstester
C# Dev Kit-utvidelsen gir testfunksjonene du bruker gjennom hele denne modulen:
- Test Explorer: En trevisning som viser alle testtilfeller i arbeidsområdet ditt. Du kan åpne Test Explorer ved å velge beger-ikonet på aktivitetslinjen.
- Kjør/feilsøk testtilfeller: Grønne spillknapper vises i editoren ved siden av hver testklasse og metode. Høyreklikk på en play-knapp for å se flere alternativer.
- Se testresultater: Etter en testkjøring vises resultatet i editor-dekorasjoner og i Test Explorer. Ved å velge en lenke i en stack-trace navigerer du til kildelokasjonen.
-
Testkommandoer: Kommandoer som
Test: Run All Testsligner er tilgjengelige i Kommandopaletten. Søk etterTest:for å se hele listen. -
Testinnstillinger: Innstillinger som styrer testoppdagelse og kjøretidsoppførsel er tilgjengelige i innstillingseditoren. Søk etter
Testingfor å se tilgjengelige alternativer.
C# Dev Kit støtter følgende testrammeverk:
- xUnit
- NUnit
- MSTest
Lag et testprosjekt ved å bruke Command Palette
Command Palette i Visual Studio Code gir den enkleste måten å lage et testprosjekt som bruker et støttet rammeverk. Du kan åpne kommandopaletten på følgende måter:
- Trykk Ctrl + Shift + P tastene (Windows/Linux) eller Cmd + Shift + P (macOS).
- Åpne Visningsmenyen, og velg deretter Kommandopalett.
- Åpne løsningsutforsker-visningen, høyreklikk på løsningsmappen, og velg deretter Ny Project. Dette valget åpner Command Palette med .NET: New Project... kommandoen allerede valgt.
De følgende seksjonene viser hvordan man lager et testprosjekt for hvert støttet rammeverk.
xUnit
Åpne kommandopaletten og velg .NET: Ny Project... , velg xUnit Test Project, og oppgi deretter navn og lokasjon for den nye project. Denne kommandoen oppretter et prosjekt som bruker xUnit som testbibliotek og konfigurerer testrunneren ved å legge til følgende <PackageReference /> elementer i prosjektfilen:
Microsoft.NET.Test.SdkxUnitxunit.runner.visualstudiocoverlet.collector
Fra den integrerte terminalen kan du legge til en referanse fra testprosjektet til prosjektet som testes:
dotnet add [location of your test csproj file] reference [location of the csproj file for project to be tested]
NUnit
Åpne kommandopaletten og velg .NET: Ny Project... , velg NUnit3 Test Project, og oppgi deretter navn og lokasjon for den nye project. Denne kommandoen oppretter et prosjekt som bruker NUnit som testbibliotek og legger til følgende <PackageReference /> elementer i prosjektfilen:
Microsoft.NET.Test.SdkNUnitNUnit3TestAdapter
Legg til en referanse til prosjektet som testes fra terminalen:
dotnet add [location of your test csproj file] reference [location of the csproj file for project to be tested]
MSTest
Åpne kommandopaletten og velg .NET: Ny Project... , velg MSTest Test Project, og oppgi deretter navn og lokasjon for den nye project. Denne kommandoen legger til følgende <PackageReference /> elementer i prosjektfilen:
Microsoft.NET.Test.SdkMSTest.TestAdapterMSTest.TestFrameworkcoverlet.collector
Legg til en referanse til prosjektet som testes fra terminalen:
dotnet add [location of your test csproj file] reference [location of the csproj file for project to be tested]
Kjør og administrer enhetstester i Visual Studio Code
Etter at et testprosjekt eksisterer, gir Visual Studio Code og C# Dev Kit deg flere måter å kjøre og administrere tester på:
- Kjør/Debug fra editoren: Velg den grønne spillknappen ved siden av en klasse eller metode for å kjøre det målet. Høyreklikk på spillknappen for å se alternativer som Kjør test og Debug test.
- Testutforsker: Kjør eller feilsøk individuelle tester, grupper eller hele pakken fra trevisningen. Testresultater, inkludert bestått/ikke bestått-ikoner og varigheter, vises ved siden av hvert element.
- Se testresultater: Editor-dekorasjoner og Test Explorer gjenspeiler begge den nåværende tilstanden til hver test etter en kjøring. Velg lenker i stack traces for å hoppe til den feilende linjen.
-
Testkommandoer: Bruk kommandoer som
Test: Run All Tests,Test: Debug Failed Tests, ogTest: Show Outputfra Command Palette. -
Testinnstillinger: Søk etter
Testingi innstillingseditoren for å konfigurere oppførsel som automatisk kjøring ved lagring eller testresultatformatering.
Enhetstestingsarbeidsflyten med GitHub Copilot
Når du kombinerer Visual Studio Code med GitHub Copilot, deles enhetstestingsprosessen inn i tre faser:
- Sett opp miljøet: Bruk Visual Studio Code, .NET SDK og C# Dev Kit for å lage et testprosjekt og referere til prosjektet som testes. Du fullførte dette stadiet i denne enheten.
- Generer testkode: Bruk GitHub Copilot i chat-visningen for å generere enhetstester for applikasjonskoden din. De neste enhetene dekker denne fasen.
- Kjør og vedlikehold tester: Bruk Test Explorer og C# Dev Kit for å kjøre tester, og bruk deretter GitHub Copilot for å utvide dekningen og fikse feilende tester.
De resterende enhetene fokuserer på GitHub Copilot-verktøyene som støtter trinn 2 og 3.