Untersuchen Visual Studio Code Unterstützung für Komponententests

Abgeschlossen

Bevor Sie Komponententests mit GitHub Copilot generieren können, benötigt Ihr Projekt ein funktionierendes Testframework und eine Möglichkeit zum Ausführen von Tests innerhalb Visual Studio Code. Visual Studio Code, das .NET SDK und die C#Dev Kit-Erweiterung stellen die Umgebung bereit, in der Ihre Komponententests gehostet werden, während GitHub Copilot sich auf das Generieren und Verfeinern des Testcodes konzentrieren. Das Verständnis der zugrunde liegenden Umgebung erleichtert das Nachverfolgen des GitHub Copilot Workflows.

In dieser Lektion werden die Visual Studio Code Features und C#-Tools untersucht, die Komponententests unterstützen. Spätere Einheiten konzentrieren sich darauf, wie GitHub Copilot den Testcode generiert und verwaltet, der in dieser Umgebung ausgeführt wird.

Visual Studio Code Unterstützung für Komponententests

Zum Erstellen und Ausführen von C#-Komponententests in Visual Studio Code benötigen Sie die folgenden Ressourcen:

  • Das .NET 8.0 SDK oder höher.
  • Die C#Dev Kit-Erweiterung für Visual Studio Code.
  • Ein Testframeworkpaket, das Ihrem Projekt hinzugefügt wurde.

C#-Dev Kit-Unterstützung für Komponententests

Die C#Dev Kit-Erweiterung bietet die Testfeatures, die Sie in diesem Modul verwenden:

  • Test-Explorer: Eine Strukturansicht, in der alle Testfälle in Ihrem Arbeitsbereich angezeigt werden. Sie können den Test-Explorer öffnen, indem Sie das Beaker-Symbol auf der Aktivitätsleiste auswählen.
  • Ausführungs-/Debugtestfälle: Grüne Wiedergabeschaltflächen werden im Editor neben jeder Testklasse und -methode angezeigt. Klicken Sie mit der rechten Maustaste auf eine Wiedergabeschaltfläche, um weitere Optionen anzuzeigen.
  • Testergebnisse anzeigen: Nach einer Testausführung wird das Ergebnis in Editor-Dekorationen und im Test-Explorer widerspiegelt. Wenn Sie einen Link in einer Stapelablaufverfolgung auswählen, navigiert sie zum Quellspeicherort.
  • Testbefehle: Befehle wie Test: Run All Tests in der Befehlspalette verfügbar. Suchen Sie nach Test:, um die vollständige Liste anzuzeigen.
  • Testeinstellungen: Einstellungen, die das Ermittlungs- und Laufzeitverhalten steuern, sind im Einstellungs-Editor verfügbar. Suchen Sie nach Testing, um die verfügbaren Optionen anzuzeigen.

Das C#-Dev-Kit unterstützt die folgenden Testframeworks:

  • xUnit
  • NUnit
  • MSTest

Erstellen eines Testprojekts mithilfe der Befehlspalette

Die Befehlspalette in Visual Studio Code bietet die einfachste Möglichkeit, ein Testprojekt zu erstellen, das ein unterstütztes Framework verwendet. Sie können die Befehlspalette auf folgende Weise öffnen:

  • Drücken Sie Ctrl + Shift + PSchlüssel (Windows/Linux)) oder Cmd + Shift + P (macOS).
  • Öffnen Sie das Menü Ansicht, und wählen Sie dann Befehlspalette aus.
  • Öffnen Sie die Projektmappen-Explorer Ansicht, klicken Sie mit der rechten Maustaste auf den Projektmappenordner, und wählen Sie dann Neues Projekt aus. Diese Option öffnet die Befehlspalette, wobei der Befehl .NET: Neues Projekt... bereits ausgewählt ist.

In den folgenden Abschnitten wird gezeigt, wie Sie ein Testprojekt für jedes unterstützte Framework erstellen.

xUnit

Öffnen Sie die Befehlspalette, und wählen Sie .NET: Neues Projekt... aus, wählen Sie xUnit Test Project, und geben Sie dann einen Namen und einen Speicherort für das neue Projekt an. Mit diesem Befehl wird ein Projekt erstellt, das xUnit als Testbibliothek verwendet und den Testläufer konfiguriert, indem der Projektdatei die folgenden <PackageReference /> Elemente hinzugefügt werden:

  • Microsoft.NET.Test.Sdk
  • xUnit
  • xunit.runner.visualstudio
  • coverlet.collector

Über das integrierte Terminal können Sie eine Referenz vom Testprojekt zum zu testenden Projekt hinzufügen:

dotnet add [location of your test csproj file] reference [location of the csproj file for project to be tested]

NUnit

Öffnen Sie die Befehlspalette, und wählen Sie .NET: Neues Projekt..., wählen Sie NUnit3-Testprojekt aus, und geben Sie dann einen Namen und einen Speicherort für das neue Projekt an. Mit diesem Befehl wird ein Projekt erstellt, das NUnit als Testbibliothek verwendet und die folgenden <PackageReference /> Elemente zur Projektdatei hinzufügt:

  • Microsoft.NET.Test.Sdk
  • NUnit
  • NUnit3TestAdapter

Fügen Sie im Terminal einen Verweis auf das Projekt hinzu, das getestet wird:

dotnet add [location of your test csproj file] reference [location of the csproj file for project to be tested]

MSTest

Öffnen Sie die Befehlspalette, und wählen Sie .NET: Neues Projekt... aus, wählen Sie MSTest Test Project aus, und geben Sie dann einen Namen und einen Speicherort für das neue Projekt an. Mit diesem Befehl werden der Projektdatei die folgenden <PackageReference /> Elemente hinzugefügt:

  • Microsoft.NET.Test.Sdk
  • MSTest.TestAdapter
  • MSTest.TestFramework
  • coverlet.collector

Fügen Sie im Terminal einen Verweis auf das Projekt hinzu, das getestet wird:

dotnet add [location of your test csproj file] reference [location of the csproj file for project to be tested]

Ausführen und Verwalten von Komponententests in Visual Studio Code

Nachdem ein Testprojekt vorhanden ist, bieten Visual Studio Code und das C# Dev Kit verschiedene Möglichkeiten zum Ausführen und Verwalten von Tests:

  • Ausführen/Debuggen aus dem Editor: Wählen Sie die grüne Wiedergabeschaltfläche neben einer Klasse oder Methode aus, um dieses Ziel auszuführen. Klicken Sie mit der rechten Maustaste auf die Wiedergabeschaltfläche, um Optionen wie "Test ausführen " und "Debugtest" anzuzeigen.
  • Test-Explorer: Ausführen oder Debuggen einzelner Tests, Gruppen oder der vollständigen Suite aus der Strukturansicht. Testergebnisse, einschließlich Pass-/Fail-Symbole und Dauer, werden neben jedem Element angezeigt.
  • Testergebnisse anzeigen: Editor-Dekorationen und Test-Explorer spiegeln den aktuellen Status der einzelnen Tests nach einer Ausführung wider. Wählen Sie Links in Stacktraces aus, um zur fehlerverursachenden Zeile zu springen.
  • Testen von Befehlen: Verwenden Sie Befehle wie Test: Run All Tests, Test: Debug Failed Tests, und Test: Show Output aus der Befehlspalette.
  • Testeinstellungen: Suchen Sie Testing im Einstellungs-Editor, um das Verhalten zu konfigurieren, z. B. die automatische Ausführung beim Speichern oder Testen der Ergebnisformatierung.

Der Komponententestworkflow mit GitHub Copilot

Wenn Sie Visual Studio Code mit GitHub Copilot kombinieren, unterteilt sich der Komponententestprozess in drei Stufen:

  1. Richten Sie die Umgebung ein: Verwenden Sie Visual Studio Code, das .NET SDK und das C# Dev Kit, um ein Testprojekt zu erstellen und einen Verweis auf das zu testende Projekt hinzuzufügen. Sie haben diese Phase in dieser Einheit abgeschlossen.
  2. Generate test code: Verwenden Sie GitHub Copilot in der Chatansicht, um Komponententests für Ihren Anwendungscode zu generieren. Die nächsten Einheiten decken diese Phase ab.
  3. Tests ausführen und verwalten: Verwenden Sie den Test-Explorer und das C# Dev Kit, um Tests auszuführen, und verwenden Sie dann GitHub Copilot, um die Testabdeckung zu erweitern und fehlgeschlagene Tests zu beheben.

Die verbleibenden Einheiten konzentrieren sich auf die GitHub Copilot Tools, die Die Stufen 2 und 3 unterstützen.