诊断

这些扩展会在测试运行过程中收集证据,以便你在事后诊断失败原因。 每个扩展都需要额外的 NuGet 包,如每个部分所述。

小窍门

使用 Microsoft.Testing.Platform.MSBuild (由 MSTest、NUnit 和 xUnit 运行程序以可传递方式包含)时,这些扩展会在安装其 NuGet 包时自动注册,无需更改代码。 只有在通过设置 <GenerateTestingPlatformEntryPoint>false</GenerateTestingPlatformEntryPoint>禁用自动生成的入口点时,才需要本文中指定的手动注册。

对于进程级诊断,请参阅相关的 崩溃和挂起转储 扩展,这些扩展会在测试主机崩溃或挂起时收集进程转储文件。

录像机

视频录制器会在测试运行期间录制屏幕,并将捕获到的视频作为测试产物附加到测试会话中。 录制功能针对每次运行单独启用,并由外部 ffmpeg 进程驱动;该进程必须可通过 PATH 访问,或通过显式路径指定。 此扩展需要Microsoft。Testing.Extensions.VideoRecorder NuGet 包。

注释

从版本 2.3.0 开始,MTP 中可用。 此扩展是实验性的,其选项和输出格式可能会在将来的版本中更改。

手动注册

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

选项

选项 MTP 版本 Description
--capture-video 2.3.0 启用屏幕录制。 可选值控制保留期: on-failure (默认值)仅保留失败测试的录像,并 always 保留每个测试的录像。
--capture-video-source 2.3.0 设置捕获源。 有效值为 screen (默认值) 和 window。 需要 --capture-video
--capture-video-granularity 2.3.0 设置录制器是为每个测试生成一个视频,还是为整个运行生成一个分章视频。 有效值为 test (默认值) 和 session。 需要 --capture-video
--capture-video-max-duration 2.3.0 通过仅保留大约最后 N 秒的视频片段,将长时间运行时的磁盘使用量限制在一定范围内。 该值为正整数秒数。 需要 --capture-video
--capture-video-chapters 2.3.0 设置是否将章节书签添加到每会话视频。 有效值为 on (默认值) 和 off。 需要 --capture-video
--capture-video-args 2.3.0 将额外的参数传递给基础记录器(ffmpeg)。 需要 --capture-video