新的MSTest SDK:MSTest运行器扩展的使用,支持在原生AOT中运行测试

Microsoft 发布新的 MSTest SDK

Microsoft 宣布了基于 MSBuild Project SDK 系统构建的新的 MSTest SDK,旨在提升使用 MSTest 进行测试的体验。该 SDK 提供了多项功能,包括更容易使用 MSTest Runner 扩展、支持在 Native AOT 模式下运行测试以及更好的默认建议。

如何使用 MSTest SDK

要开始使用 MSTest SDK,需要创建一个 MSTest 项目(或更新现有项目),并替换 .csproj 文件的内容。可以使用 MSTest 支持的任何目标框架。

<Project Sdk="MSTest.Sdk/3.3.1">
  <PropertyGroup> 
      <TargetFramework>net8.0</TargetFramework>
  </PropertyGroup>
  <!-- Additional properties and items for your tests. -->
</Project>

MSTest SDK 的优势

  1. 更容易使用 MSTest Runner 扩展:为了帮助开发者选择合适的扩展或控制更新和扩展之间的对齐,Microsoft 引入了“profiles”这一新概念。新的 SDK 提供了三个 profiles:Default、AllMicrosoft 和 None。
  2. 与主流应用模式对齐:使用 MSTest SDK 可以确保测试项目与 ASP.NET Core、Razor 或 Windows Desktop 等主要应用类型提供的模式对齐。它将使用 MSTest 团队为测试项目提供的默认建议。
  3. 支持 Native AOT 模式:MSTest 支持在 Native AOT 模式下运行测试。使用 MSTest SDK 时,如果开发者发布到 AOT,系统会自动检测,并透明地更改所有必需的测试套件和配置以适应这种特殊模式。

关于 Native AOT 的更多信息

有关在 Native AOT 模式下进行测试的更多信息,可以参考官方博客文章

社区问答

  1. 是否支持在有无 Native AOT 的情况下运行测试?
    Microsoft 高级软件工程师 Amaury Levé 回答:是的,MSTest SDK 非常适合这种用例。只需提供 PublishAot MSBuild 属性,系统就会为你更改所有需要的引用。因此,可以轻松地进行两次测试执行命令调用(dotnet test、dotnet exec、dotnet run 或调用 exe),一次带有该属性,另一次不带。
  2. 是否支持测试 WASM?
    Amaury Levé 提到,框架引擎的工作正在进行中,目前处于测试阶段。关于此主题的讨论可以在 GitHub 上找到。

文档资源

MSTest SDK 的详细文档可以在 Microsoft 网站 上查阅。

阅读 22
0 条评论