Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Erhöhen Sie das Vertrauen in Ihre Codequalität und verbessern Sie ihre Testabdeckung, indem Sie Komponententests mithilfe von GitHub Copilot-Tests für .NET erstellen und ausführen.
Obwohl Copilot Komponententests generieren kann, erhalten Sie zusätzliche Testfunktionen, indem Sie GitHub Copilot-Tests für .NET in Visual Studio verwenden, einschließlich der folgenden:
- Komponententests werden in einem separaten Projekt innerhalb der Projektmappe generiert.
- Copilot generiert Tests deterministisch auf Basis der C#-Compiler- und Sprachsemantik, sodass Assertions und Edgefälle vorhersehbar und typsicher sind.
- GitHub Copilot Test erstellt die Komponententests nach der Testgenerierung. Wenn Fehler auftreten, versucht die Komponententestfunktion in GitHub Copilot für .NET, Fehler zu identifizieren und zu beheben, und führt dann die Tests erneut aus.
- GitHub Copilot-Tests führen die Tests mithilfe des Test-Explorers aus.
GitHub Copilot-Tests für .NET generiert Tests für C#-Projekte nur mithilfe der MSTest-, NUnit- und xUnit-Frameworks. Wenn die Lösung bereits Komponententests in NUnit oder xUnit enthält, generiert GitHub Copilot-Tests für .NET neue Tests im selben Komponententestframework. Wenn keine Komponententests in der Lösung vorhanden sind, werden neue Tests mithilfe von MSTest generiert.
Voraussetzungen
Um zu beginnen, benötigen Sie Folgendes:
- Visual Studio 2026, Version 18.3 oder höher
- C#-Projekt
- Melden Sie sich mit einem GitHub-Konto mit einem kostenpflichtigen Copilot-Abonnement bei Visual Studio an.
Hinweis
GitHub Copilot-Tests für .NET erfordert ein kostenpflichtiges GitHub Copilot-Abonnement (Einzel-, Geschäfts- oder Unternehmensabonnement). Kostenlose Copilot-Abonnements werden nicht unterstützt.
Eine Einführung in Komponententests finden Sie unter Komponententestgrundlagen.
Möglichkeiten zum Starten von GitHub Copilot-Tests
Sie können GitHub Copilot-Tests für .NET auf verschiedene Arten starten:
- Geben Sie
@Testim Chatfenster ein, gefolgt von einem Ziel oder einer Eingabeaufforderung. - Klicken Sie im Editor mit der rechten Maustaste, um das Kontextmenü zu öffnen, und wählen Sie "Copilot Actions>Generate Tests" aus.
- Wählen Sie in einem neuen Copilot-Chat-Thread "Unit-Tests schreiben" aus den Vorschlägen "Copilot Chat-Eisbrecher" aus.
Hinweis
Die Optionen im Kontextmenü und für den Icebreaker werden automatisch an den @Test-Agent weitergeleitet, wenn der IDE-Fokus auf C#-Code liegt. Bei Nicht-C#-Projekten verwenden diese Optionen stattdessen eine generische Copilot-Eingabeaufforderung.
Eingabeaufforderungssyntax
GitHub Copilot-Tests unterstützen zwei Aufforderungsmethoden: strukturierte Syntax und frei formulierte Eingabeaufforderungen.
Strukturierte Syntax
Verwenden Sie die @Test #<target> Syntax, um Tests für bestimmte Codeelemente zu generieren:
@Test #<target>
Wo #<target> kann folgendes sein:
- Ein Mitglied, eine Klasse, eine Datei, ein Projekt oder eine Lösung
- Ein Git-Diff zum Testen ihrer aktuellen Änderungen (
#git_changes) - Mehrere Eingaben derselben Art (z. B. mehrere Klassen oder mehrere Dateien)
Hinweis
Gemischte Eingabetypen werden nicht unterstützt. Beispielsweise können Sie eine Datei und ein Projekt nicht in derselben Eingabeaufforderung kombinieren.
Beispiele:
-
@Test #BankAccount— Generieren von Tests für die BankAccount-Klasse -
@Test #git_changes– Generieren von Tests für ihre aktuellen nicht abgeschlossenen Änderungen -
@Test #MyProject— Generieren von Tests für den gesamten Code in MyProject
Freiform-Eingabehinweise
Verwenden Sie natürliche Sprache, um zu beschreiben, was Sie testen möchten:
@Test <your prompt>
Beispiele:
| Prompt | Description |
|---|---|
@Test class Foo |
Generieren von Tests für eine bestimmte Klasse |
@Test generate tests for the core logic in my #solution |
Festlegen bestimmter Bereiche Ihrer Codebasis |
@Test write unit tests for my current changes |
Generieren von Tests für nicht abgeschlossene Git-Änderungen |
@Test fix my failing tests |
Bitten Sie Copilot, fehlerhafte Tests zu beheben |
@Test class Bar, targeting 80% code coverage |
Angeben eines Abdeckungsziels |
@Test use xUnit with FluentAssertions |
Angeben von Testframeworks und Konventionen |
Tipp
Sie können spezifische Anweisungen zu Testframeworks, Mocking-Bibliotheken, Assertionsstilen und Testkonventionen in Ihren freien Eingabeaufforderungen geben.
Zusätzliche Befehle
GitHub Copilot-Tests bieten Befehle für die Hilfe und Verwaltung von Einstellungen:
| Command | Description |
|---|---|
@Test /help |
Anzeigen der Hilfemeldung mit verfügbaren Befehlen und Syntax |
@Test /clear-preferences |
Löschen gespeicherter Benutzereinstellungen, einschließlich Zustimmungseinstellungen |
Generieren und Ausführen von Tests
Öffnen Sie ein vorhandenes C#-Projekt, das neue Tests benötigt.
Wenn Sie nicht über ein vorhandenes Projekt verfügen, können Sie ein neues Projekt erstellen und dann den Beispielanwendungscode der Bank verwenden, um mit Komponententests zu experimentieren. Kopieren Sie den Startbeispielcode aus create and run unit tests for .NET in
Program.cs.Projekt erstellen.
Stellen Sie sicher, dass das Projekt ohne Fehler erstellt wird, um den Prozess zu vereinfachen.
Wählen Sie in Visual Studio Anzeigen > GitHub Copilot Chat aus.
Verwenden Sie eine der Eingabeaufforderungsmethoden, um GitHub Copilot-Tests zu starten.
Verwenden Sie für die Beispielanwendung der Bank eine der folgenden Optionen:
- Strukturiert:
@Test #BankAccount - Freiform:
@Test generate comprehensive tests for the BankAccount class
Hinweis
Sie können sich entweder im Fragenmodus oder im Agentmodus befinden, wenn Sie den
@TestBefehl eingeben. Die Ergebnisse unterscheiden sich nicht.Der Befehl "Testen" wird im Chat wie folgt angezeigt, was angibt, dass der Befehl erkannt wird.
- Strukturiert:
Wählen Sie im Chatfenster Senden aus.
GitHub Copilot-Tests für .NET initiieren einen iterativen Prozess der Analyse Ihres Codes, erstellen ein neues Projekt für die Komponententests, generieren Tests, Erstellen und Ausführen der Tests.
Die Testgenerierung ist ein lang andauernder Prozess. Je nach Umfang Ihres Ziels (Datei, Projekt, Lösung usw.) kann es eine Weile dauern.
Wenn Komponententests generiert werden, werden die Tests in einem separaten Testprojekt in der Projektmappe angezeigt.
Der Test-Explorer zeigt die Ergebnisse an. Wenn der Test-Explorer nicht automatisch von den GitHub Copilot-Tests geöffnet wird, wählen Sie Test>Test Explorer aus.
An diesem Punkt können Sie den Test-Explorer manuell verwenden, um die Ausführung von Tests fortzusetzen oder mit Copilot über die Testergebnisse zu chatten. Sie können copilot auch verwenden, um fehlgeschlagene Tests zu debuggen. Weitere Informationen finden Sie unter Debug-Komponententests.