Microsoft. Bővítmények integrációja

Ezek a bővítmények hidat képeznek a Microsoft.Testing.Platform (MTP) és az alkalmazás által már használt Microsoft.Extensions.* függvénytárak között, így a platform- és bővítményösszetevők ugyanazon az infrastruktúrán keresztül működnek, mint a kód többi része. Minden bővítményhez további NuGet-csomag szükséges, az egyes szakaszokban leírtak szerint.

Tip

A Microsoft.Testing.Platform.MSBuild (amelyet az MSTest, az NUnit és az xUnit tesztfutók tranzitívan tartalmaznak) használatakor ezek a bővítmények automatikusan regisztrálásra kerülnek a NuGet-csomagok telepítésekor – nincs szükség a kód módosítására. A cikkben megadott manuális regisztrációra csak akkor van szükség, ha a beállítással <GenerateTestingPlatformEntryPoint>false</GenerateTestingPlatformEntryPoint>letiltotta az automatikusan létrehozott belépési pontot.

Naplózási átjáró

A naplózási híd továbbítja a Microsoft.Testing.Platform diagnosztikai naplóit ide: ILogger, így a platform- és bővítménynaplók ugyanazon a Microsoft.Extensions.Logging folyamaton haladnak át, amelyet az alkalmazás már használ. Egy meglévő naplózási vermet – a Console-t, a Debugot, a Serilogot, az Application Insightst, az OpenTelemetryt vagy egyéni ILoggerProvider – újra felhasználhatja anélkül, hogy egyéni MTP-naplózószolgáltatót kellene írnia. Ehhez a bővítményhez a Microsoft.Testing.Extensions.Logging NuGet-csomag szükséges.

Note

Az MTP-ben a 2.3.0-s verziótól kezdve érhető el. Ez a bővítmény kísérleti jellegű, és a beállításai és a kimeneti formátuma megváltozhat egy későbbi verzióban.

A híd csak akkor továbbítja az egyes üzeneteket, ha a platform diagnosztikai naplózása engedélyezve van. Ha a platform tényleges naplózási szintje None (ez az alapértelmezett, hacsak nem adja át a(z) --diagnostic paramétert), a konfigurációs delegátus nem hívódik meg, és nem jön létre naplózógyár. A kategóriánkénti szűrők, amelyeket a ILoggingBuilder platformban beállítottak, szűkíthetik a platform hatékony diagnosztikai szintjét, de nem szélesíthetik azt.

Manuális regisztráció

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