Schlanke Alternative zu VSTest: Microsoft veröffentlicht neuen MSTest Runner
Der MSTest Runner aus dem Hause Microsoft wartet als leistungsstarkes, portables und individuell erweiterbares Werkzeug fĂĽr die AusfĂĽhrung von MSTest-Tests auf.

(Bild: Besjunior/Shutterstock.com)
Microsoft hat einen neuen Runner für MSTest-Tests vorgestellt, ein erweiterbares Test-Framework, das Komponententests in der Entwicklungsumgebung Visual Studio unterstützt. Der MSTest Runner soll leichtgewichtiger sein und eine bessere Portabilität und Zuverlässigkeit von Tests ermöglichen. Darüber hinaus beschleunigt er offenbar die Testdurchführung und ist individuell erweiterbar.
MSTest Runner: Ein Blick unter die Haube
Der MSTest Runner ermöglicht das Erstellen und Ausführen von MSTest-Tests als eigenständige portable Anwendung. Dafür kommt eine einfache Konsolenanwendung zum Einsatz, um Tests zu hosten und auszuführen, ohne auf externe Tools wie vstest.console, dotnet test oder Visual Studio angewiesen zu sein. Es zielt vor allem auf das Schreiben von Tests für Geräte mit begrenzter Leistung oder Speicherplatz.
VSTest versus MSTest
Der neue Runner bietet laut Blogbeitrag im Vergleich zur Visual Studio Test Platform (VSTest) einige Vorteile hinsichtlich der Portabilität, Leistung und Erweiterbarkeit.
Der direkte Testlauf aus einer ausführbaren Datei entfernt die übliche Komplexität und Infrastruktur, die normalerweise für Testläufe erforderlich ist. Dies ermöglicht die Verwendung von dotnet-Tools, um beispielsweise selbstständige Builds zu erstellen oder Tests auf verschiedenen Computern ohne zusätzliche Einrichtung auszuführen.
Der MSTest Runner benötigt einen Prozess weniger im Vergleich zu dotnet test, was Ressourcen auf dem Build-Server spart. Das Vermeiden von interprozessualer serieller Kommunikation und das Nutzen moderner .NET-APIs soll die Parallelität erhöhen und den Speicherbedarf reduzieren.
Zuverlässig und erweiterbar
Microsoft setzt mit dem MSTest Runner neue Standardvorgaben, die sicherer sein und vermeiden sollen, dass Tests versehentlich übersehen werden. Beispielsweise schlägt der Runner standardmäßig fehl, wenn kein einziger Test aus einem Projekt ausgeführt wird.
Der MSTest Runner basiert auf einer neuen Testplattform und einem Erweiterungsmodell, die es ermöglichen, viele Aspekte der Testausführung zu erweitern oder zu überschreiben. Microsoft bietet darüber hinaus optionale Erweiterungen und arbeitet an weiteren neuen Funktionen.
Installation des MSTest Runners
Der MSTest Runner ist ab Version 3.2.0 im MSTest.TestAdapter NuGet-Paket enthalten. Laut Blogbeitrag erfolgt die Integration durch die Installation des Pakets und das Festlegen von zwei MSBuild-Eigenschaften: <EnableMSTestRunner> und <OutputType>.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<!-- Enable the MSTest runner, this is an opt-in feature -->
<EnableMSTestRunner>true</EnableMSTestRunner>
<!-- We need to produce an executable and not a DLL -->
<OutputType>Exe</OutputType>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsPackable>false</IsPackable>
</PropertyGroup>
<ItemGroup>
<!--
MSTest meta package is the recommended way
to reference MSTest.
It's equivalent to referencing:
Microsoft.NET.Test.Sdk
MSTest.TestAdapter
MSTest.TestFramework
MSTest.Analyzers
-->
<PackageReference Include="MSTest" Version="3.2.0" />
</ItemGroup>
</Project>
Nach diesen Ă„nderungen wird das Testprojekt neu erstellt, und die Tests lassen sich als ausfĂĽhrbare Datei direkt ausfĂĽhren.
Weitere Informationen zum neuen MSTest Runner bietet der Blogbeitrag auf den Microsoft DevBlogs sowie die Ăśbersichtsseite Microsoft Learn.
(mdo)