Vereinfachung der Unit-Tests in Visual Studio: Ein Leitfaden zum Ausführen von Tests in verschiedenen Ordnern und Projekten

Unit-Tests sind ein wesentlicher Aspekt der modernen Softwareentwicklung, der sicherstellt, dass einzelne Komponenten wie vorgesehen funktionieren, bevor sie in ein größeres System integriert werden. In Umgebungen wie Visual Studio ist es üblich, separate Projekte für Unit-Tests und Integrationstests zu erstellen. Diese Struktur kann das Ausführen von Tests komplizieren, insbesondere wenn Sie Tests schnell in bestimmten Ordnern oder Projekten ausführen möchten. In diesem Beitrag zeigen wir eine Lösung, um Ihre Unit-Tests basierend auf der Ordnerstruktur Ihres Projekts auszuführen, wobei der Prozess mit Hilfe von Tastenkombinationen und Makros effizienter gestaltet wird.

Die Herausforderung

Viele Entwickler strukturieren ihre Visual Studio-Lösungen mit verschiedenen Projekten für Unit-Tests und Integrationstests. Dies schafft die Notwendigkeit für eine klare Strategie zur Verwaltung der Testausführungen, wie zum Beispiel:

  • Unit-Tests häufig auszuführen.
  • Integrationstests nur in bestimmten Kontexten auszuführen.

Ihr Ziel könnte es sein, Tastenkombinationen zu konfigurieren, um Tests in verschiedenen Projekten auszuführen, ohne jedes Mal durch Menüs navigieren zu müssen. Beispielsweise möchten Sie etwas erreichen wie:

  • Alt+1: Führt Tests im Projekt BLL.Test aus.
  • Alt+2: Führt Tests im Projekt DAL.Tests aus.
  • Alt+3: Führt alle Tests im Ordner [Tests] aus.
  • Alt+4: Führt Tests im Ordner [Tests.Integration] aus.

Glücklicherweise gibt es eine Möglichkeit, diesen Prozess in Visual Studio zu optimieren.

Eine praktische Lösung mit Makros

Sie können ein Makro in Visual Studio erstellen, das es Ihnen ermöglicht, Tests in bestimmten Projekten oder Ordnern mit einem einfachen Tastaturbefehl auszuführen. So richten Sie es ein:

Schritt-für-Schritt-Anleitung zum Erstellen eines Makros

  1. Visual Studio öffnen: Starten Sie Ihre Visual Studio-Umgebung.

  2. Erstellen Sie ein temporäres Makro:

    • Navigieren Sie zum Menü: Extras > Makros > TemporäresMakro aufzeichnen.
    • Dies wird Ihre Aktionen aufzeichnen.
  3. Wählen Sie Ihren Testordner aus:

    • Wählen Sie im Projektmappen-Explorer den Ordner [Tests] (oder Ihren gewünschten Testordner) aus.
  4. Führen Sie die Tests aus:

    • Führen Sie den Befehl zum Ausführen von Tests mit ReSharper aus: ReSharper.UnitTest.ContextRun.
  5. Aufzeichnung stoppen:

    • Sobald Sie fertig sind, gehen Sie zurück zu Extras > Makros und stoppen Sie die Aufzeichnung.
  6. Makro bearbeiten:

    • Sie finden Ihr aufgezeichnetes Makro unter Extras > Makros > MeineMakros.
    • Passen Sie es an Ihre Bedürfnisse an (Sie finden den Code, um Ihren spezifischen Testordner auszuführen).

Beispiel eines aufgezeichneten Makros

Hier ist ein Beispiel-Makrocode, den Sie an Ihre spezifische Projektstruktur anpassen können:

Sub TemporäresMakro()
    DTE.Windows.Item(Constants.vsWindowKindSolutionExplorer).Activate
    DTE.ActiveWindow.Object.GetItem("TestUnitTest\Tests").Select(vsUISelectionType.vsUISelectionTypeSelect)
    DTE.ExecuteCommand("ReSharper.UnitTest_ContextRun")
End Sub
  1. Das Makro mit einer Tastenkombination verknüpfen:
    • Gehen Sie zu Extras > Optionen > Umgebung > Tastatur.
    • Suchen Sie Ihr Makro in der Liste und weisen Sie ihm eine Tastenkombination zu.

Ein allgemeinerer Ansatz mit Konfigurationsdateien

Während die obige Methode eine solide Lösung zum Ausführen von Tests bietet, kann sie sogar noch besser werden, wenn Sie einen skalierbareren Ansatz in Betracht ziehen. Stellen Sie sich vor, Sie könnten konfigurieren, welche Projekte, Ordner oder Klassen über eine XML-Datei ausgeführt werden sollen. Dies kann:

  • Versionskontrolle erleichtern.
  • Sicherstellen, dass alle in Ihrem Team denselben Prozess zur Testausführung befolgen.

Vorteile der Verwendung von XML-Konfiguration

  • Konsistenz: Alle Entwickler können dieselben Konfigurationen teilen.
  • Flexibilität: Testziele können ohne Änderung des Codes leicht modifiziert werden.
  • Einfachheit: Nicht-Entwickler in Ihrem Team können Testeinstellungen hinzufügen oder ändern, ohne in die VS IDE eingreifen zu müssen.

Zusammenfassend lässt sich sagen, dass Sie durch die Nutzung von Makros in Visual Studio und möglicherweise durch die Integration von Konfigurationsdateien Ihren Entwicklungsablauf erheblich verbessern können. Dieses System spart nicht nur Zeit, sondern stellt auch sicher, dass Ihr Team die Testausführungen mühelos verwalten kann. Jetzt können Sie spezifische Tests mit nur einer Tastenkombination ausführen, sodass Sie sich mehr auf das Schreiben von Code und weniger auf die Navigation durch Ihre IDE konzentrieren können.