Teilen über


Übersicht über GitHub Copilot-Tests für .NET

GitHub Copilot-Tests für .NET ist eine neue Funktion in GitHub Copilot Chat, die in Visual Studio integriert ist. Dieses Feature automatisiert das Erstellen, Ausführen und Testen von C#-Code für ganze Projekte, Lösungen, Dateien, Klassen oder Member. Es wurde für C#-Entwickler entwickelt, die schnell eine umfassende Testabdeckung starten möchten, ohne jeden Testfall manuell zu schreiben. GitHub Copilot-Tests können Tests für xUnit-, NUnit- und MSTest-Testframeworks generieren.

Im Gegensatz zu kurzlebigen Copilot-Vorschlägen bietet das Testen mit GitHub Copilot für .NET eine geführte, lange andauernde Erfahrung zum Generieren und Verwalten von Tests in Ihrer Codebasis.

Voraussetzungen

  • Visual Studio 2026 Insiders-Build

  • C#-Projekt

  • Anmeldung bei Visual Studio mit einem GitHub-Konto mit Copilot-Zugriff

    GitHub Copilot-Tests funktionieren mit jedem aktiven GitHub Copilot-Abonnement, einschließlich einzelner und Unternehmenspläne. Einige Features sind möglicherweise mit einer kostenlosen Copilot-Lizenz verfügbar. Jedoch können Nutzungsbeschränkungen und Tokendrosselung gelten, insbesondere bei größeren Lösungen oder längeren Sitzungen. Diese Grenzwerte werden von GitHub erzwungen und können sich auf die Leistung oder Verfügbarkeit auswirken.

Tipp

Um eine optimale Erfahrung zu erzielen, empfehlen wir die Verwendung eines kostenpflichtigen Copilot-Abonnements, um potenzielle Drosselung zu vermeiden und einen konsistenten Zugriff zu gewährleisten.

Was GitHub Copilot-Tests tun können

Wenn Sie diese Funktion aktivieren, interagiert GitHub Copilot-Tests auf verschiedene Arten mit Ihrer Lösung, um Tests zu generieren und zu überprüfen:

  • Lesen: Copilot analysiert Den Quellcode und die Projektstruktur, um Kontext und Abhängigkeiten zu verstehen.
  • Schreiben: Es erstellt oder aktualisiert Testdateien in Ihrer Lösung basierend auf seinen Vorschlägen.
  • Build: Das Tool löst Builds aus, um Ihren Code zu kompilieren und zu prüfen, ob generierte Tests korrekt integriert sind.
  • Ausführen: Es führt Tests durch, um zu bestätigen, dass die Tests bestehen, und um Feedback zur Abdeckung und Qualität zu erhalten.

Von Bedeutung

Copilot-Tests ändern keinen Produktionscode außerhalb des Testgenerierungsprozesses. Alle Änderungen treten in Ihrer lokalen Entwicklungsumgebung auf, und Sie behalten die volle Kontrolle, um Vorschläge zu überprüfen, anzunehmen oder zu verwerfen.

Warum verwenden Sie GitHub Copilot-Tests für .NET?

GitHub Copilot-Tests für .NET bieten eine umfassende Erfahrung im Vergleich zu den einfacheren Copilot-Funktionen im Zusammenhang mit der Generierung von Tests (z. B. dem /tests Befehl). Die Komponententestfunktion in GitHub Copilot für .NET bietet Folgendes:

  • Effizienz: Automatisches Generieren, Erstellen und Ausführen von C#-Komponententests für große oder kleine Projekte oder Lösungen.
  • Konsistenz: Stellen Sie sicher, dass Tests bewährte Methoden und Projektstandards einhalten. Tests werden in einem separaten Testprojekt in der Lösung erstellt und mithilfe der xUnit-, NUnit- und MSTest-Frameworks generiert. 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.
  • Integration: Arbeitet nahtlos in Visual Studio und nutzt die KI-Funktionen von Copilot.
  • Berechenbarkeit: Copilot generiert deterministisch Tests, die in der C#-Compiler- und Sprachsemantik geerdet werden, sodass Assertionen und Edgefälle vorhersehbar und typsicher sind.

Wichtigste Funktionen

  • Automatisierte Testgenerierung: Erstellen Sie Tests für einzelne Dateien, mehrere Dateien in einem einzelnen Projekt oder ganze Lösungen.
  • Befehlsbasierte Interaktion: Verwenden Sie unterstützte Befehle und Parameter (in der /help Nachricht in GitHub Copilot-Tests aufgeführt).
  • Strukturierte Eingabeaufforderungen: Freiformaufforderungen werden derzeit nicht unterstützt, wodurch eine vorhersehbare und zuverlässige Ausgabe sichergestellt wird.

Sicherheitswarnung

Wenn Sie zum ersten Mal GitHub Copilot-Tests für .NET ausführen, fordert Copilot Ihre Zustimmung an, LLM-generierten Code auf Ihrem Computer auszuführen. Dies kann Aktionen wie das Installieren oder Wiederherstellen von NuGet-Paketen und das Ausführen von Tests umfassen. Wenn Sie keine allgemeine Zustimmung erteilen, bittet GitHub Copilot Sie um eine explizite Genehmigung, bevor Sie einen solchen Vorgang ausführen.

Vorsicht

Ihre Zustimmung gewährt Copilot die Möglichkeit, beliebige Befehle in Ihrer Visual Studio-Sitzung im Hintergrund aufzurufen. Microsoft kann die Sicherheit dieser Befehle nicht garantieren. Sie sollten diesen Switch nur in einer Sandkastenumgebung aktivieren, und Sie sollten Schritte ausführen, um die für diese Umgebung verfügbaren Berechtigungen einzuschränken. Die Sandkastenumgebung sollte beispielsweise kein mit der Cloud verbundenes Konto verwenden, um sich bei Windows anzumelden, und die Sandkastenumgebung sollte nicht mit einem privilegierten GitHub-Konto angemeldet werden, das Lesezugriff auf nicht öffentliche Repositorys hat oder Schreibzugriff auf Produktionsrepositorys hat.

Problembehandlung

Wenn der @test Befehl im Copilot-Chat nicht angezeigt wird, führen Sie die folgenden Schritte aus:

  1. Überprüfen Sie den Visual Studio-Build. Stellen Sie sicher, dass Sie den neuesten Visual Studio Insiders-Build ausführen, da diese Funktion derzeit nur in Insidern verfügbar ist.

  2. Schalten Sie die Einstellung in tools > Options > GitHub Copilot um. Wenn Sie die GitHub Copilot-Testeinstellung deaktivieren und erneut aktivieren, wird die Integration aktualisiert.

    Screenshot der Testeinstellung in

Wenn der @test Befehl nicht im Chat angezeigt wird und das Problem nach dem Umschalten weiterhin besteht, melden Sie das Problem über Hilfe > Feedback senden in Visual Studio.

Nächste Schritte

Siehe Generieren und Ausführen von Tests mithilfe von GitHub Copilot-Tests für .NET in Visual Studio.