Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Diese Erweiterungen schlagen eine Brücke zwischen Microsoft.Testing.Platform (MTP) und den Bibliotheken Microsoft.Extensions.*, die Ihre Anwendung bereits verwendet, sodass Plattform- und Erweiterungskomponenten über dieselbe Infrastruktur wie der Rest Ihres Codes geleitet werden. Jede Erweiterung erfordert ein zusätzliches NuGet-Paket, wie in jedem Abschnitt beschrieben.
Tipp
Bei Verwendung von Microsoft.Testing.Platform.MSBuild (transitiv von MSTest, NUnit und xUnit runners eingeschlossen) werden diese Erweiterungen automatisch registriert, wenn Sie ihre NuGet-Pakete installieren – keine Codeänderungen erforderlich. Die in diesem Artikel angegebene manuelle Registrierung ist nur erforderlich, wenn Sie den automatisch generierten Einstiegspunkt durch Festlegen <GenerateTestingPlatformEntryPoint>false</GenerateTestingPlatformEntryPoint>deaktiviert haben.
Logging-Schnittstelle
Die Protokollierungsbrücke leitet Microsoft.Testing.Platform-Diagnoseprotokolle an ILogger weiter, sodass Plattform- und Erweiterungsprotokolle dieselbe Microsoft.Extensions.Logging-Pipeline durchlaufen, die Ihre Anwendung bereits verwendet. Sie können einen vorhandenen Protokollierungsstapel – Konsole, Debug, Serilog, Application Insights, OpenTelemetry oder eine benutzerdefinierte ILoggerProvider – wiederverwenden, ohne einen benutzerdefinierten MTP-Loggeranbieter zu schreiben. Diese Erweiterung erfordert das Microsoft.Testing.Extensions.Logging-NuGet-Paket.
Note
Verfügbar in MTP ab Version 2.3.0. Diese Erweiterung ist experimentell, und die Optionen und das Ausgabeformat können sich in einer zukünftigen Version ändern.
Die Brücke leitet jede Nachricht nur weiter, wenn die Diagnoseprotokollierung der Plattform aktiviert ist. Wenn die effektive Protokollebene der Plattform lautet None (der Standardwert, es sei denn, Sie übergeben --diagnostic), wird der Konfigurationsdelegat nicht aufgerufen, und es wird keine Loggerfactory erstellt. Kategoriespezifische Filter, die Sie in der ILoggingBuilder festlegen, können die effektive Diagnoseebene der Plattform einschränken, sie aber nicht ausweiten.
Manuelle Registrierung
var builder = await TestApplication.CreateBuilderAsync(args);
builder.AddMicrosoftExtensionsLogging(logging => logging.AddConsole());