Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
GitHub Copilot-testning för .NET är en funktion i GitHub Copilot Chat som är integrerad i Visual Studio. Den här funktionen automatiserar skapandet, körningen och testningen av C#-kod för hela projekt, lösningar, filer, klasser eller medlemmar. Den är utformad för C#-utvecklare som snabbt vill starta omfattande testtäckning utan att skriva alla testfall manuellt. GitHub Copilot-testning kan generera tester för xUnit-, NUnit- och MSTest-testramverk.
Till skillnad från engångsprompter i Copilot-agentläge erbjuder GitHub Copilot-testning för .NET en guidad, långvarig upplevelse som utformats specifikt för testgenerering. Den ger deterministiska resultat som baseras på C#-kompilatorn och språksemantiken, med djup medvetenhet om din kodbas, filstruktur och testkonventioner för att säkerställa förutsägbara, kontextanpassade tester.
Förutsättningar
- Visual Studio 2026 version 18.3 eller senare
- C#-projekt
- Logga in på Visual Studio med ett GitHub-konto med en betald Copilot-prenumeration
Anmärkning
GitHub Copilot-testning för .NET kräver en betald GitHub Copilot-prenumeration (individ, företag eller företag). Kostnadsfria Copilot-prenumerationer stöds inte.
Varför ska du använda GitHub Copilot-testning för .NET?
GitHub Copilot-testning för .NET erbjuder en omfattande upplevelse jämfört med de mer allmänna Copilot-funktionerna som rör genereringen av tester. Enhetstestningsfunktionen i GitHub Copilot för .NET tillhandahåller följande:
- Effektivitet: Generera, skapa och köra C#-enhetstester automatiskt för stora eller små projekt eller lösningar.
- Konsistens: Se till att testerna följer metodtips och projektstandarder. Tester skapas i ett separat testprojekt i lösningen och genereras med hjälp av ramverken xUnit, NUnit och MSTest. Om lösningen redan har enhetstester i NUnit eller xUnit genererar GitHub Copilot-testning för .NET nya tester i samma enhetstestningsramverk. Om det inte finns några enhetstester i lösningen genereras nya tester med HJÄLP av MSTest.
- Integration: Fungerar sömlöst i Visual Studio och utnyttjar Copilots AI-funktioner.
- Förutsägbarhet: Copilot genererar tester deterministiskt, grundade i C#-kompilatorn och språksemantiken, så att påståenden och gränsfall är förutsägbara och typsäkra.
Viktiga funktioner
- Automatiserad testgenerering i stor skala: Skapa tester för enskilda filer, flera filer i ett enda projekt eller hela lösningar.
-
Kommandobaserad interaktion: Använd kommandon och parametrar som stöds (visas i meddelandet
/helpi GitHub Copilot-testning). -
Flexibla frågor: Rikta specifik kod med den strukturerade
@Test #<target>syntaxen, eller använd frihandsmeddelanden för naturligt språk för att beskriva vad du vill testa.
Vad GitHub Copilot-testning kan göra
När du aktiverar den här funktionen interagerar GitHub Copilot-testningen med din lösning på flera sätt för att generera och validera tester:
- Läsa: Copilot analyserar källkoden och projektstrukturen för att förstå kontext och beroenden.
- Skriva: Den skapar eller uppdaterar testfiler i din lösning baserat på dess förslag.
- Kompilering: Verktyget utlöser kompileringar för att kompilera din kod och verifiera att genererade tester integreras korrekt.
- Utföra: Den kör tester för att bekräfta att de godkänns och för att ge feedback om täckning och kvalitet.
Viktigt!
Copilot-testning ändrar inte produktionskod utanför testgenereringsprocessen. Alla ändringar sker i din lokala utvecklingsmiljö och du behåller fullständig kontroll för att granska, acceptera eller ignorera förslag.
Åtgärder som vidtas av agenten @Test
Agenten @Test utför olika åtgärder under testgenereringen. Att förstå dessa åtgärder hjälper dig att veta vad du kan förvänta dig när du använder verktyget.
Skapa och testa åtgärder
Agenten använder Visual Studio-API:er (inte kommandoradsverktyg som dotnet restore eller dotnet test) för att utföra följande åtgärder:
- Återställa och skapa: Återställer paket och bygger projekt baserat på omfång (från ett enskilt projekt upp till hela lösningen).
- Kör tester: Kör främst endast de genererade testerna. Men för att beräkna inledande och resulterande kodtäckning (och för täckningsoptimeringsläge) kör agenten alla tester inom det angivna omfånget.
-
Bearbeta git-diff: När du använder diffläge (
#git_changes) analyserar agenten dina icke-genererade ändringar för att generera riktade tester.
Paketinstallation
Agenten installerar NuGet-paket efter behov:
- Testa ramverkspaket (MSTest, NUnit eller xUnit)
- Mock framework-paket om de inte redan finns
- Täckningsgrad och TRX-tillägg för Microsoft Test Platform (MTP) om de inte redan finns
LLM-åtgärder
Agenten gör LLM-anrop för:
- Snabbanalys för frihandsformulär
- Sammanfattningsbearbetning
- Testgenerering
Projekt- och filändringar
Agenten skapar ett testprojekt om det inte finns något för målkoden.
Agenten använder ett anpassat filsystem med följande garantier:
- Omfång: Agenten läser eller skriver aldrig filer utanför lagringsplatsens rot (förutom loggar).
- Skrivskyddad inställning: När det är möjligt använder agenten ett skrivskyddat filsystem som förhindrar skrivåtgärder.
Agenten kan skriva till följande filer:
- Testprojektfiler
- Källprojektfiler (till exempel att lägga till
InternalsVisibleToattribut) - Lösningsfiler (indirekt via Visual Studio-API:er, till exempel när du lägger till ett projekt)
- Testa källfiler
Säkerhetsfrågor
När du först kör GitHub Copilot-testning för .NET begär Copilot ditt medgivande att köra LLM-genererad kod på datorn. Detta kan omfatta åtgärder som att installera eller återställa NuGet-paket och köra tester. Om du inte beviljar allmänt medgivande uppmanar GitHub Copilot-testning dig om uttryckligt godkännande innan du utför någon sådan åtgärd.
Försiktighet
Ditt medgivande ger Copilot möjlighet att tyst anropa godtyckliga kommandon i Visual Studio-sessionen. Microsoft kan inte garantera säkerheten för dessa kommandon. Du bör bara aktivera den här växeln i en sandbox-miljö och du bör vidta åtgärder för att begränsa de behörigheter som är tillgängliga för den miljön. Den begränsade miljön bör till exempel inte använda ett molnanslutet konto för att logga in på Windows, och den begränsade miljön bör inte loggas in i Visual Studio med ett privilegierat GitHub-konto som har läsbehörighet till icke-offentliga lagringsplatser eller skrivåtkomst till produktionslagringsplatser.
Nästa steg
Se Generera och köra tester med GitHub Copilot-testning för .NET i Visual Studio.