06.10.2026 · Signal Titans Editorial
MSTest 4.5 unifica testes em thread de UI para aplicativos UWP e WinUI 3
MSTest 4.5 e Microsoft.Testing.Platform 2.5 adicionam testes nativos em thread de UI e ativação por processo sidecar para UWP e WinUI 3.

A Microsoft atualizou o MSTest para a versão 4.5 e o Microsoft.Testing.Platform para a versão 2.5, trazendo um modelo unificado de testes de interface de usuário (UI) para aplicativos da Universal Windows Platform (UWP) e do WinUI 3. As atualizações permitem que a inicialização de testes, a execução de código assíncrono e as rotinas de limpeza sejam executadas diretamente na thread de UI nativa da aplicação, em vez de uma thread genérica single-threaded apartment (STA).
Arquitetura de execução unificada por sidecar
O MSTest.Sdk coordena a execução de testes em aplicativos WinUI 3 não empacotados, aplicações empacotadas, UWP moderno, UWP clássico e hosts AppContainer. Em vez de depender de componentes legados como vstest.console, Microsoft.NET.Test.Sdk ou UwpTestHostRuntimeProvider, o MSTest.Sdk utiliza um controlador sidecar de confiança total (full-trust). Para projetos WinUI 3 não empacotados, a ferramenta inicia o apphost diretamente. Para softwares empacotados, o controlador sidecar registra o layout de saída e ativa o aplicativo host por meio de seu Application User Model ID (AUMID) usando a extensão Microsoft.Testing.Extensions.PackagedApp, gerenciando argumentos de linha de comando, cancelamento de testes, tentativas de reexecução e relatórios.
Integração com o dispatcher de UI
O framework utiliza o atributo UITestMethod para conceder acesso à thread de UI durante a preparação do teste, a lógica de execução e a limpeza. Em aplicações de teste do WinUI 3, os desenvolvedores atribuem o DispatcherQueue da janela principal dentro do ponto de entrada OnLaunched antes de passar os argumentos de processo para o auxiliar de execução gerado pelo Microsoft.Testing.Platform. Essa abordagem substitui os fluxos de trabalho do STATestMethod, que estabeleciam threads single-threaded apartment sem construir um dispatcher nativo do WinUI.
Requisitos de ambiente e execução em CI
A execução de hosts de teste empacotados ou baseados em AppContainer exige uma configuração de sistema específica. O registro de layouts de saída de compilação sem assinatura depende do Modo de Desenvolvedor ou de uma política ativa de sideloading nas estações de trabalho de desenvolvimento e nos agentes de integração contínua. Testes em AppContainer e compilações UWP são executados em ambientes Developer PowerShell sem privilégios elevados usando o target MSBuild InvokeTestingPlatform, enquanto projetos WinUI 3 não empacotados também podem ser executados diretamente por meio dos comandos padrões dotnet run ou dotnet test.
Ilustração editorial gerada por IA; não é uma fotografia documental.