MSTest 3.8: Neue Features für effizientere .NET-Tests
Dienstag, 25. März 2025
Die neueste Version von MSTest, das bewährte Testframework für .NET-Anwendungen, bringt zahlreiche Verbesserungen, um das Testen noch einfacher und effizienter zu gestalten. Mit MSTest 3.8 erhalten Developer neue Möglichkeiten zur Filterung von Tests, erweiterte Assertions und eine bessere Unterstützung für moderne .NET-Plattformen.
Die wichtigsten Neuerungen bei MSTest 3.8
Gezieltes Filtern von Tests: Dank der Erweiterung VSTestBridge in Microsoft.Testing.Platform (MTP) 1.6 unterstützt MSTest nun das Filtern bereits bei der Testentdeckung (--list-tests). Dies erleichtert die Auswahl der relevanten Tests vor der eigentlichen Ausführung.
Tests mit MSBuild ausführen: Das /t:Test-Target ist nun nicht mehr nur auf .NET Build beschränkt, sondern kann direkt mit MSBuild.exe genutzt werden. Dies erleichtert die Integration in bestehende CI/CD-Pipelines.
Verbesserte Iterationserfahrung: Beim erneuten Schreiben von TRX-Testberichten wird der Inhalt nun überschrieben, anstatt einen Fehler zu verursachen. Eine Warnung weist darauf hin, dass die Datei ersetzt wird.
Vereinfachtes Metapackage: Die Notwendigkeit, bestimmte Pakete manuell hinzuzufügen, entfällt. TRX-Report und Code Coverage sind jetzt standardmäßig enthalten.
Unterstützung für moderne UWP: MSTest 3.8 ist mit .NET 9 in UWP kompatibel und erfordert Microsoft.NET.Test.Sdk Version 17.14.0 oder neuer.
Neue und verbesserte Assertions: Die Assert-Klasse erhält neue Methoden:
- Assert.Throws und Assert.ThrowsAsync zur flexiblen Fehlerprüfung
- Assert.ThrowsExactly und Assert.ThrowsExactlyAsync für exakte Fehlererwartungen
- Assert.HasCount, Assert.IsEmpty, Assert.IsNotEmpty, Assert.ContainsSingle für einfachere Collection-Tests
Zusätzlich verhindern neue Analysetools Fehler wie die falsche Nutzung von Assert.AreSame mit Wertetypen oder Assertions in async void-Methoden.
Bessere datengetriebene Tests:
- Generische Testmethoden mit DataRow werden nun unterstützt.
- DynamicData erkennt automatisch den Typ der Datenquelle.
- Einzelne Datenquellen lassen sich nun gezielt ignorieren.
Wiederholte Testausführung bei Fehlern: Mit dem neuen RetryAttribute lassen sich fehlerhafte Tests automatisch erneut ausführen, inklusive anpassbarer Wartezeiten und Backoff-Strategien.
Bedingte Testausführung: Das OSConditionAttribute ermöglicht es, Tests gezielt auf bestimmten Betriebssystemen auszuführen oder auszuschließen.
Feinjustierung durch Codeanalysen: Das MSTestAnalysisMode-Feature erlaubt es, die Schwere von Code-Analysen innerhalb von Testprojekten zu steuern. Entwickler können zwischen mehreren Modi wählen, um die Codequalität sicherzustellen.
MSTest 3.8 bietet eine Reihe bedeutender Verbesserungen, die das Testen in .NET erleichtern und effizienter gestalten. Von besseren Assertions und Datenquellenmanagement bis hin zu intelligenten Wiederholungen und Analysefeatures – diese Version hilft Developern, stabilere und wartbare Tests zu schreiben.

Microsoft Build 2025
The future is yours @Build: Vernetzen, coden und lernen – live oder virtuell bei der Microsoft Build in Seattle.
.NET
Kostenlos, Cross-Plattform und Open Source
.NET-Dokumentation