Microsoft. Intégration des extensions

Ces extensions pont Microsoft. Testing.Platform (MTP) vers les Microsoft.Extensions.* bibliothèques que votre application utilise déjà. Par conséquent, les composants de plateforme et d’extension transitent par la même infrastructure que le reste de votre code. Chaque extension nécessite un package NuGet supplémentaire, comme décrit dans chaque section.

Tip

Lors de l’utilisation de Microsoft.Testing.Platform.MSBuild (inclus transitivement par MSTest, NUnit et xUnit Runners), ces extensions sont enregistrées automatiquement lorsque vous installez leurs packages NuGet, sans modification du code nécessaire. L’inscription manuelle spécifiée dans cet article n’est requise que si vous avez désactivé le point d’entrée généré automatiquement en définissant <GenerateTestingPlatformEntryPoint>false</GenerateTestingPlatformEntryPoint>.

Pont de journalisation

Le pont de journalisation transmet les journaux de diagnostic de Microsoft.Testing.Platform à ILogger, de sorte que les journaux de la plateforme et des extensions transitent par le même pipeline Microsoft.Extensions.Logging que votre application utilise déjà. Vous pouvez réutiliser une pile de journalisation existante — Console, Debug, Serilog, Application Insights, OpenTelemetry ou une implémentation personnalisée ILoggerProvider — sans avoir à écrire un fournisseur de journalisation MTP personnalisé. Cette extension nécessite le package NuGet Microsoft.Testing.Extensions.Logging.

Note

Disponible dans MTP à compter de la version 2.3.0. Cette extension est expérimentale, et ses options et son format de sortie peuvent changer dans une version ultérieure.

Le pont transfère chaque message uniquement lorsque la journalisation des diagnostics de la plateforme est activée. Lorsque le niveau de journalisation effectif de la plateforme est None (la valeur par défaut, sauf si vous passez --diagnostic), le délégué de configuration n’est pas appelé et aucune fabrique de journalisation n’est créée. Les filtres par catégorie que vous définissez dans la ILoggingBuilder plateforme peuvent affiner le niveau de diagnostic efficace de la plateforme, mais ils ne peuvent pas l’élargir.

Inscription manuelle

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