Implementação do host de teste

Estas extensões controlam como e onde o MTP é implementado e inicia o host de teste. Utilizam o ponto de extensão experimental ITestHostLauncher para controlar a implementação e arranque do host de teste. Cada extensão requer outro pacote NuGet, conforme descrito em cada secção.

Gorjeta

Quando usas a Microsoft. Testing.Platform.MSBuild, instale o pacote NuGet de uma extensão para registar automaticamente a extensão. Os runners MSTest, NUnit e xUnit incluem Microsoft.Testing.Platform.MSBuild de forma transitiva. Se desativar o ponto de entrada gerado, ligue AddSelfRegisteredExtensions para registar os pacotes que o MSBuild contribui.

Implementação de aplicações empacotadas

A extensão de aplicação empacotada regista um host de teste Windows empacotado full-trust a partir do seu layout build-output e ativa-o pelo ID do Modelo de Utilizador da Aplicação (AUMID). É o consumidor de referência do ponto de extensão experimental ITestHostLauncher para aplicações Windows empacotadas. Esta extensão requer o pacote NuGet Microsoft.Testing.Extensions.PackagedApp.

Note

O pacote de extensão está disponível a partir da versão 2.3.0 do MTP. O registo total de MSIX e a ativação do AUMID estão implementados no microsoft/testfx repositório, mas não estão disponíveis num pacote público NuGet a partir de 6 de agosto de 2026. A extensão é experimental, e as suas opções e formato de saída podem mudar numa versão futura.

Cumpra estes requisitos antes de usar a extensão:

  • Target versão 10.0.19041.0 da plataforma Windows ou posterior.
  • Para registar um layout de build-output sem assinatura, ative o Modo Desenvolvedor ou configure o sideloading.
  • Use um host de desktop empacotado com total confiança. A extensão não suporta UWP clássico, UWP .NET moderno com UseUwp, nem outros hosts AppContainer.

Para uma configuração WinUI completamente auto-hospedada, consulte Testar aplicações WinUI 3 com MSTest e MTP.

Registo manual

var builder = await TestApplication.CreateBuilderAsync(args);
builder.AddPackagedAppDeployment();

Não ligues AddPackagedAppDeployment se uma aplicação self-hosted já ligar AddSelfRegisteredExtensions e referenciar o pacote. Uma execução MTP só pode registar um lançador de host de teste.