Microsoft. Integrace rozšíření

Tato rozšíření propojují Microsoft.Testing.Platform (MTP) s knihovnami Microsoft.Extensions.*, které vaše aplikace už používá, takže součásti platformy i rozšíření využívají stejnou infrastrukturu jako zbytek vašeho kódu. Každé rozšíření vyžaduje další balíček NuGet, jak je popsáno v každé části.

Tip

Pokud používáte Microsoft.Testing.Platform.MSBuild (zahrnuté tranzitivně pomocí msTest, NUnit a xUnit runnerů), tato rozšíření se automaticky zaregistrují při instalaci jejich balíčků NuGet – nejsou potřeba žádné změny kódu. Ruční registrace zadaná v tomto článku se vyžaduje pouze v případě, že jste zakázali automaticky vygenerovaný vstupní bod nastavením <GenerateTestingPlatformEntryPoint>false</GenerateTestingPlatformEntryPoint>.

Protokolovací můstek

Můstek protokolování přeposílá diagnostické protokoly Microsoft.Testing.Platform do ILogger, takže protokoly platformy i rozšíření procházejí stejným kanálem zpracování Microsoft.Extensions.Logging, který vaše aplikace už používá. Můžete znovu použít existující logovací zásobník — Console, Debug, Serilog, Application Insights, OpenTelemetry nebo vlastní ILoggerProvider — bez nutnosti vytvářet vlastního poskytovatele protokolování pro MTP. Toto rozšíření vyžaduje balíček NuGet Microsoft.Testing.Extensions.Logging.

Note

K dispozici v MTP od verze 2.3.0. Toto rozšíření je experimentální a jeho možnosti a výstupní formát se můžou v budoucí verzi změnit.

Most přeposílá každou zprávu pouze když je povoleno diagnostické protokolování platformy. Když je efektivní úroveň protokolování platformy None (což je výchozí hodnota, pokud nepředáte --diagnostic), delegát konfigurace není volán a nevytvoří se žádná továrna protokolování. Filtry pro jednotlivé kategorie, které jste nastavili v ILoggingBuilder, mohou zúžit účinnou úroveň diagnostiky platformy, ale nemohou ji rozšířit.

Ruční registrace

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