测试主机部署

这些扩展控制 MTP 部署和启动测试主机的方式和位置。 它们使用实验 ITestHostLauncher 性扩展点来控制测试主机部署和启动。 每个扩展都需要另一个 NuGet 包,如每个部分所述。

小窍门

使用Microsoft时。Testing.Platform.MSBuild,安装扩展的 NuGet 包以自动注册扩展。 MSTest、NUnit 和 xUnit 运行程序包括 Microsoft.Testing.Platform.MSBuild 可传递的。 如果禁用生成的入口点,请调用 AddSelfRegisteredExtensions 以注册 MSBuild 贡献的包。

打包的应用部署

打包的应用扩展从其生成输出布局注册完全信任的打包Windows测试主机,并通过应用程序用户模型 ID(AUMID)激活它。 它是打包Windows应用的实验ITestHostLauncher扩展点的参考使用者。 此扩展需要Microsoft。Testing.Extensions.PackagedApp NuGet 包。

注释

扩展包从 MTP 版本 2.3.0 开始可用。 完全信任的 MSIX 注册和 AUMID 激活在存储库中 microsoft/testfx 实现,但截至 2026 年 8 月 6 日,公共 NuGet 包中不可用。 扩展是实验性的,其选项和输出格式可能会在将来的版本中更改。

在使用扩展之前,请满足以下要求:

  • 目标Windows平台版本10.0.19041.0或更高版本。
  • 若要注册未签名的生成输出布局,请启用开发人员模式或配置旁加载。
  • 使用完全信任的打包桌面主机。 该扩展不支持经典 UWP、新式 .NET UWP 和其他 UseUwpAppContainer 主机。

有关完整的自承载 WinUI 配置,请参阅 使用 MSTest 和 MTP 测试 WinUI 3 应用

手动注册

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

如果自承载应用程序已调用并引用包,请不要调用AddPackagedAppDeploymentAddSelfRegisteredExtensions。 MTP 运行只能注册一个测试主机启动器。