Microsoft.Extensions entegrasyonu

Bu uzantılar, Microsoft.Testing.Platform (MTP) ile uygulamanızın zaten kullandığı Microsoft.Extensions.* kitaplıkları arasında köprü kurar; böylece platform ve uzantı bileşenleri, kodunuzun geri kalanıyla aynı altyapı üzerinden çalışır. Her uzantı, her bölümde açıklandığı gibi ek bir NuGet paketi gerektirir.

İpucu

Microsoft.Testing.Platform.MSBuild (MSTest, NUnit ve xUnit çalıştırıcıları tarafından geçişli olarak dahil) kullanılırken, NuGet paketlerini yüklediğinizde bu uzantılar otomatik olarak kaydedilir; kod değişikliği gerekmez. Bu makalede belirtilen el ile kayıt yalnızca ayarıyla <GenerateTestingPlatformEntryPoint>false</GenerateTestingPlatformEntryPoint>otomatik oluşturulan giriş noktasını devre dışı bırakmış olmanız durumunda gereklidir.

Günlükleme köprüsü

Günlükleme köprüsü, Microsoft.Testing.Platform tanılama günlüklerini ILogger hedefine iletir; böylece platform ve uzantı günlükleri, uygulamanızın zaten kullandığı aynı Microsoft.Extensions.Logging iş hattı üzerinden akar. Özel bir MTP günlük kaydı sağlayıcısı yazmadan, mevcut bir günlük kaydı yığınını — Console, Debug, Serilog, Application Insights, OpenTelemetry veya özel bir ILoggerProvider — yeniden kullanabilirsiniz. Bu uzantı, Microsoft.Testing.Extensions.Logging NuGet paketini gerektirir.

Note

2.3.0 sürümünden itibaren MTP'de kullanılabilir. Bu uzantı deneyseldir ve seçenekleri ve çıkış biçimi gelecekteki bir sürümde değişebilir.

Köprü her iletiyi yalnızca platformun tanılama günlüğü etkinleştirildiğinde iletir. Platformun etkin günlük düzeyi None olduğunda (varsayılan olarak, --diagnostic geçirmeniz dışında), yapılandırma temsilcisi çağrılmaz ve günlükçü fabrikası oluşturulmaz. içinde ILoggingBuilder ayarladığınız kategori başına filtreler, platformun etkin tanılama düzeyini daraltabilir, ancak genişletemez.

El ile kayıt

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