Integración de Microsoft.Extensions

Estas extensiones sirven de puente entre Microsoft.Testing.Platform (MTP) y las bibliotecas Microsoft.Extensions.* que su aplicación ya utiliza, por lo que los componentes de la plataforma y de las extensiones se integran en la misma infraestructura que el resto de su código. Cada extensión requiere un paquete NuGet adicional, como se describe en cada sección.

Sugerencia

Al usar Microsoft.Testing.Platform.MSBuild (incluido transitivamente por MSTest, NUnit y ejecutores xUnit), estas extensiones se registran automáticamente al instalar sus paquetes NuGet, no se necesitan cambios de código. El registro manual especificado en este artículo solo es necesario si ha deshabilitado el punto de entrada generado automáticamente estableciendo <GenerateTestingPlatformEntryPoint>false</GenerateTestingPlatformEntryPoint>.

Puente de registro

El puente de registro envía los registros de diagnóstico de Microsoft.Testing.Platform a ILogger, para que los registros de la plataforma y de la extensión pasen por la misma canalización Microsoft.Extensions.Logging que ya usa la aplicación. Puede reutilizar una infraestructura de registro existente — Console, Debug, Serilog, Application Insights, OpenTelemetry o un ILoggerProvider personalizado — sin necesidad de escribir un proveedor de registro de MTP personalizado. Esta extensión requiere el paquete NuGet Microsoft.Testing.Extensions.Logging.

Note

Disponible en MTP a partir de la versión 2.3.0. Esta extensión es experimental y sus opciones y formato de salida pueden cambiar en una versión futura.

El puente reenvía cada mensaje solo cuando está habilitado el registro de diagnóstico de la plataforma. Cuando el nivel de registro efectivo de la plataforma es None (el valor predeterminado, a menos que se pase --diagnostic), no se invoca el delegado de configuración y no se crea ninguna factoría de registradores. Los filtros por categoría que establezca en ILoggingBuilder pueden restringir el nivel de diagnóstico efectivo de la plataforma, pero no pueden ampliarlo.

Registro manual

var builder = await TestApplication.CreateBuilderAsync(args);
builder.AddMicrosoftExtensionsLogging(logging => logging.AddConsole());