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.

In Pocket speichern vorlesen Druckansicht
Tool-Tipp-Kiste

(Bild: Besjunior/Shutterstock.com)

Lesezeit: 2 Min.
Inhaltsverzeichnis

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.

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.

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.

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.

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)