Microsoft.Extensions 통합

이러한 확장은 Microsoft.Testing.Platform(MTP)을 애플리케이션에서 이미 사용 중인 Microsoft.Extensions.* 라이브러리에 연결하므로, 플랫폼 및 확장 구성 요소가 코드의 나머지 부분과 동일한 인프라를 통해 전달됩니다. 각 확장에는 각 섹션에 설명된 대로 추가 NuGet 패키지가 필요합니다.

Microsoft.Testing.Platform.MSBuild(MSTest, NUnit 및 xUnit 실행기에서 전이적으로 포함)를 사용하는 경우 이러한 확장은 NuGet 패키지를 설치할 때 자동으로 등록되며 코드 변경이 필요하지 않습니다. 이 문서에서 지정한 수동 등록은 자동 생성된 진입점을 설정 <GenerateTestingPlatformEntryPoint>false</GenerateTestingPlatformEntryPoint>하여 사용하지 않도록 설정한 경우에만 필요합니다.

로깅 브리지

로깅 브리지는 Microsoft.Testing.Platform 진단 로그를 ILogger(으)로 전달하므로, 플랫폼 및 확장 로그가 애플리케이션에서 이미 사용하는 동일한 Microsoft.Extensions.Logging 파이프라인을 통해 흐릅니다. 사용자 지정 MTP 로거 공급자를 작성하지 않고 기존 로깅 스택(콘솔, 디버그, Serilog, Application Insights, OpenTelemetry 또는 사용자 지정 ILoggerProvider )을 다시 사용할 수 있습니다. 이 확장에는 Microsoft.Testing.Extensions.Logging NuGet 패키지가 필요합니다.

메모

버전 2.3.0부터 MTP에서 사용할 수 있습니다. 이 확장은 실험적이며 옵션 및 출력 형식은 이후 버전에서 변경될 수 있습니다.

브리지는 플랫폼의 진단 로깅을 사용하는 경우에만 각 메시지를 전달합니다. 플랫폼의 유효 로그 수준이 None(기본값이며, --diagnostic를 전달하지 않는 한 적용됨)인 경우, 구성 델리게이트는 호출되지 않으며 로거 팩터리도 생성되지 않습니다. 설정한 범주별 필터는 ILoggingBuilder 플랫폼의 효과적인 진단 수준을 좁힐 수 있지만 확장할 수는 없습니다.

수동 등록

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