VSTest Bridge 扩展

此扩展提供与 VSTest 的兼容性层,允许依赖它的测试框架继续支持在 VSTest 模式下运行(vstest.console.exe、常规 dotnet test、AzDo 上的 VSTest task、Visual Studio 和 Visual Studio Code 的测试资源管理器...)。此扩展作为 Microsoft.Testing.Extensions.VSTestBridge 包的一部分提供。

与 VSTest 的兼容性

此扩展的主要目的是通过支持双模式为 VSTest 用户提供轻松流畅的升级体验,在双模式下启用新平台,同时提供兼容模式以允许常规工作流继续工作。

Runsettings 支持

通过此扩展,可提供 VSTest .runsettings 文件,但并非此文件中的所有选项都会被该平台选取。 下面介绍了支持和不支持的设置、配置选项和最常用的 VSTest 配置选项的替代项。

通过测试框架启用后,可使用 --settings <SETTINGS_FILE> 提供 .runsettings 文件。

RunConfiguration 元素

RunConfiguration 元素可以包含下列元素Microsoft.Testing.Platform 不采用以下设置:

节点 说明 原因/解决方法
MaxCpuCount 此设置可控制进程级别的并行度。 使用 0 启用最大进程级并行度。 当 Microsoft.Testing.Platform 与 MSBuild 一起使用时,此选项将卸载到 MSBuild。 运行单个可执行文件时,此选项对于 Microsoft.Testing.Platform 没有任何意义。
ResultsDirectory 在其中放置测试结果的目录。 该路径相对于包含 .runsettings 文件的目录 使用命令行选项 --results-directory 确定要放置测试结果的目录。 如果指定的目录不存在,则会创建该目录。 默认为 TestResults,位于包含测试应用程序的目录中。
TargetFrameworkVersion 此设置定义用于运行测试的框架版本或框架系列。 忽略该选项。 <TargetFramework><TargetFrameworks> MSBuild 属性确定应用程序的目标框架。 测试托管在最终应用程序中。
TargetPlatform 此设置定义用于运行测试的体系结构。 <RuntimeIdentifier> 确定托管测试的最终应用程序的体系结构。
TreatTestAdapterErrorsAsWarnings 禁止测试适配器错误成为警告。 Microsoft.Testing.Platform 仅允许从单个程序集运行一种类型的测试,并且无法加载测试框架或基础结构的其他部分将成为不可跳过的错误,因为这意味着无法发现或运行某些测试。
TestAdaptersPaths TestAdapters 所在目录的一个或多个路径 Microsoft.Testing.Platform 不使用测试适配器的概念,并且不允许动态加载扩展,除非它们是生成的一部分,并且通过生成目标自动或手动在 Program.cs 中注册。
TestCaseFilter 用于限制将运行的测试的筛选器。 若要筛选测试,请使用 --filter 命令行选项。
TestSessionTimeout 当测试会话超过给定时间,允许用户终止测试会话。 没有替代选项。
DotnetHostPath 指定用于运行测试主机的 dotnet host 的自定义路径。 Microsoft.Testing.Platform 不对 dotnet 进行任何额外的解析。 这完全取决于 dotnet 如何解析自身,这可以由 DOTNET_HOST_PATH 等环境变量来控制。
TreatNoTestsAsError 如果未发现任何测试,则使用非零退出代码退出。 当测试应用程序中没有发现或运行任何测试时,Microsoft.Testing.Platform 默认会出错。 可以使用 --minimum-expected-tests 命令行参数设置希望在程序集中找到的测试数量,该参数默认为 1。

DataCollectors 元素

Microsoft.Testing.Platform 不使用数据收集器。 而是采用进程内和进程外扩展的概念。 每个扩展都通过其各自的配置文件或通过命令行进行配置。

最重要的是挂起崩溃扩展以及代码覆盖率扩展。

LoggerRunSettings 元素

Microsoft.Testing.Platform 中的记录器通过命令行参数或由代码中的设置进行配置。

VSTest 筛选器支持

此扩展还提供使用 VSTest 筛选机制发现或仅运行与筛选表达式匹配的测试的功能。 有关详细信息,请参阅筛选器选项详细信息一节,或有关特定于框架的详细信息,请参阅运行选择性单元测试页。

通过测试框架启用后,可使用 --filter <FILTER_EXPRESSION>