Undersøk Visual Studio Code-støtte for enhetstesting

Fullført

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 Tests ligner er tilgjengelige i Kommandopaletten. Søk etter Test: for å se hele listen.
  • Testinnstillinger: Innstillinger som styrer testoppdagelse og kjøretidsoppførsel er tilgjengelige i innstillingseditoren. Søk etter Testing for å 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.Sdk
  • xUnit
  • xunit.runner.visualstudio
  • coverlet.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.Sdk
  • NUnit
  • NUnit3TestAdapter

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.Sdk
  • MSTest.TestAdapter
  • MSTest.TestFramework
  • coverlet.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, og Test: Show Output fra Command Palette.
  • Testinnstillinger: Søk etter Testing i 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:

  1. 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.
  2. Generer testkode: Bruk GitHub Copilot i chat-visningen for å generere enhetstester for applikasjonskoden din. De neste enhetene dekker denne fasen.
  3. 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.