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.
Öka förtroendet för kodkvaliteten och förbättra testtäckningen genom att skapa och köra enhetstester med hjälp av GitHub Copilot-testning för .NET.
Även om Copilot kan generera enhetstester får du extra testfunktion genom att använda GitHub Copilot-testning för .NET i Visual Studio, inklusive följande:
- Enhetstester genereras i ett separat projekt i lösningen.
- 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.
- GitHub Copilot-testning bygger enhetstesterna efter testgenereringen. Om det finns fel försöker enhetstestfunktionen i GitHub Copilot för .NET identifiera och åtgärda fel och kör sedan testerna igen.
- GitHub Copilot-testning kör testerna med testutforskaren.
GitHub Copilot-testning för .NET genererar tester för C#-projekt som endast använder ramverken MSTest, NUnit och xUnit. 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.
Förutsättningar
För att komma igång behöver du:
- 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.
En introduktion till enhetstestning finns i Grunderna för enhetstest.
Sätt att starta GitHub Copilot-testning
Du kan starta GitHub Copilot-testning för .NET på flera sätt:
- Från Copilot Chat skriver du
@Testföljt av ett mål eller en uppmaning i chattfönstret. - I redigeraren högerklickar du för att öppna snabbmenyn och väljer Copilot Actions Generate Tests (Copilot Actions>Generate Tests).
- I en ny Copilot Chat-tråd väljer du Skriv enhetstester från Förslag på Copilot Chat-isbrytare.
Anmärkning
Snabbmenyn och isbrytaralternativen dirigeras automatiskt till agenten @Test när din IDE-fokus ligger på C#-kod. För icke-C#-projekt använder de här alternativen en allmän Copilot-prompt i stället.
Kommandosyntax
GitHub Copilot-testning stöder två metoder för att fråga: strukturerad syntax och frihandsfråga.
Strukturerad syntax
Använd syntaxen @Test #<target> för att generera tester för specifika kodelement:
@Test #<target>
Var #<target> kan vara:
- En medlem, klass, fil, projekt eller lösning
- Ett git-diff för att testa dina aktuella ändringar (
#git_changes) - Flera indata av samma slag (till exempel flera klasser eller flera filer)
Anmärkning
Blandade indatatyper stöds inte. Du kan till exempel inte kombinera en fil och ett projekt i samma prompt.
Exempel:
-
@Test #BankAccount— Generera tester för klassen BankAccount -
@Test #git_changes— Generera tester för dina aktuella ogenomförda ändringar -
@Test #MyProject— Generera tester för all kod i MyProject
Frågor om frihandsformulär
Använd naturligt språk för att beskriva vad du vill testa:
@Test <your prompt>
Exempel:
| Omedelbar | Description |
|---|---|
@Test class Foo |
Generera tester för en specifik klass |
@Test generate tests for the core logic in my #solution |
Målspecifika områden i din kodbas |
@Test write unit tests for my current changes |
Generera tester för okommiterade git-ändringar |
@Test fix my failing tests |
Be Copilot att åtgärda misslyckade tester |
@Test class Bar, targeting 80% code coverage |
Ange ett täckningsmål |
@Test use xUnit with FluentAssertions |
Ange testramverk och konventioner |
Tips/Råd
Du kan ge specifika instruktioner om testningsramverk, mock-bibliotek, asserteringsstilar och testkonventioner i dina fria uppmaningar.
Ytterligare kommandon
GitHub Copilot-testning innehåller kommandon för hjälp och hantering av inställningar:
| Befallning | Description |
|---|---|
@Test /help |
Visa hjälpmeddelandet med tillgängliga kommandon och syntax |
@Test /clear-preferences |
Rensa lagrade användarinställningar, inklusive medgivandeinställningar |
Generera och köra tester
Öppna ett befintligt C#-projekt som behöver nya tester.
Om du inte har ett befintligt projekt kan du skapa ett nytt projekt och sedan använda bankexempelprogramkoden för att experimentera med enhetstestning. Kopiera startexemplekoden från Skapa och kör enhetstester för .NET till
Program.cs.Skapa projektet.
Se till att projektet byggs utan fel för att förenkla processen.
I Visual Studio väljer du Visa > GitHub Copilot Chat.
Använd någon av metoderna för att uppmana till att starta GitHub Copilot-testning.
Använd något av följande för bankexempelprogrammet:
- Strukturerad:
@Test #BankAccount - Frihandsfigur:
@Test generate comprehensive tests for the BankAccount class
Anmärkning
Du kan antingen vara i läget Fråga eller Agent när du anger
@Testkommandot. Resultaten skiljer sig inte åt.Kommandot Test visas i chatten på följande sätt, vilket anger att kommandot känns igen.
- Strukturerad:
I fönstret Chatt väljer du Skicka.
GitHub Copilot-testning för .NET initierar en iterativ process för att analysera koden, skapa ett nytt projekt för enhetstesterna, generera tester, skapa och köra testerna.
Testgenerering är en tidskrävande process. Beroende på målets omfattning (fil, projekt, lösning osv.) kan det ta en stund.
När enhetstester genereras visas testerna i ett separat testprojekt i lösningen.
TestUtforskaren visar resultatet. Om Test Explorer inte öppnas automatiskt av GitHub Copilot-testning väljer du Test>Test Explorer.
Nu kan du använda Test Explorer manuellt för att fortsätta köra tester eller chatta med Copilot om testresultaten. Du kan också använda Copilot för att felsöka misslyckade tester. Mer information finns i Felsöka enhetstester.