06.10.2026 · Signal Titans Editorial
MSTest 4.5 vereinheitlicht UI-Thread-Tests für UWP- und WinUI 3-Apps
MSTest 4.5 und Microsoft.Testing.Platform 2.5 bieten native UI-Thread-Tests und Sidecar-Prozess-Aktivierung für UWP- und WinUI 3-Anwendungen.

Microsoft hat MSTest auf Version 4.5 sowie Microsoft.Testing.Platform auf Version 2.5 aktualisiert und führt damit ein einheitliches UI-Testmodell für Universal Windows Platform (UWP)- und WinUI 3-Anwendungen ein. Die Updates ermöglichen es, die Testinitialisierung, die asynchrone Codeausführung und Aufräumroutinen direkt auf dem nativen UI-Thread einer Anwendung auszuführen, anstatt auf einem allgemeinen Single-Threaded-Apartment-Thread.
Einheitliche Sidecar-Ausführungsarchitektur
MSTest.Sdk koordiniert die Testausführung über ungepackte WinUI 3-, gepackte Anwendungen, moderne UWP-, klassische UWP- und AppContainer-Hosts hinweg. Anstatt von älteren Komponenten wie vstest.console, Microsoft.NET.Test.Sdk oder UwpTestHostRuntimeProvider abzuhängen, nutzt MSTest.Sdk einen Full-Trust-Sidecar-Controller. Für ungepackte WinUI 3-Projekte startet das Tool den Apphost direkt. Bei gepackter Software registriert der Sidecar-Controller das Ausgabelayout und aktiviert die Host-App über ihre Application User Model ID mittels Microsoft.Testing.Extensions.PackagedApp, wobei Befehlszeilenargumente, Testabbrüche, Wiederholungsversuche und die Berichterstattung verarbeitet werden.
Integration des UI-Dispatchers
Das Framework nutzt das Attribut UITestMethod, um während der gesamten Testeinrichtung, der Testlogik und der Aufräumarbeiten Zugriff auf den UI-Thread zu gewähren. In WinUI 3-Testanwendungen weisen Entwickler die DispatcherQueue des Hauptfensters innerhalb des OnLaunched-Einstiegspunkts zu, bevor sie Prozessargumente an den generierten Ausführungshelfer von Microsoft.Testing.Platform übergeben. Dieser Ansatz ersetzt STATestMethod-Workflows, die Single-Threaded-Apartment-Threads einrichteten, ohne einen nativen WinUI-Dispatcher zu erstellen.
Umgebungsanforderungen und CI-Ausführung
Die Ausführung gepackter oder AppContainer-Test-Hosts erfordert spezifische Systemeinstellungen. Die Registrierung nicht signierter Build-Ausgabelayouts setzt den Entwicklermodus oder eine aktive Sideloading-Richtlinie auf Entwickler-Workstations und CI-Agenten voraus. AppContainer-Tests und UWP-Builds werden über nicht erhöhte Developer-PowerShell-Umgebungen mithilfe des MSBuild-Ziels InvokeTestingPlatform ausgeführt, während ungepackte WinUI 3-Projekte auch direkt über Standardbefehle wie dotnet run oder dotnet test ausgeführt werden können.
KI-generierte redaktionelle Illustration; kein Dokumentarfoto.