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
-
Visual Studio öffnen: Starten Sie Ihre Visual Studio-Umgebung.
-
Erstellen Sie ein temporäres Makro:
- Navigieren Sie zum Menü:
Extras > Makros > TemporäresMakro aufzeichnen
. - Dies wird Ihre Aktionen aufzeichnen.
- Navigieren Sie zum Menü:
-
Wählen Sie Ihren Testordner aus:
- Wählen Sie im Projektmappen-Explorer den Ordner [Tests] (oder Ihren gewünschten Testordner) aus.
-
Führen Sie die Tests aus:
- Führen Sie den Befehl zum Ausführen von Tests mit ReSharper aus:
ReSharper.UnitTest.ContextRun
.
- Führen Sie den Befehl zum Ausführen von Tests mit ReSharper aus:
-
Aufzeichnung stoppen:
- Sobald Sie fertig sind, gehen Sie zurück zu
Extras > Makros
und stoppen Sie die Aufzeichnung.
- Sobald Sie fertig sind, gehen Sie zurück zu
-
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).
- Sie finden Ihr aufgezeichnetes Makro unter
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
- 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.
- Gehen Sie 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.