Microsoft.Testing.Platform (MTP) funktioner

MTP levereras med inbyggda funktioner och kan utökas via NuGet-paket.

När du använder Microsoft.Testing.Platform.MSBuild (ingår transitivt via MSTest, NUnit och xUnit-körare), är det allt som behövs att installera ett tilläggs-NuGet-paket – tillägg identifieras och registreras automatiskt, och huvudingången genereras åt dig.

Om du avanmäler dig från den automatiskt genererade startpunkten genom att ange <GenerateTestingPlatformEntryPoint>false</GenerateTestingPlatformEntryPoint>måste du registrera tillägg manuellt i din Main metod. Varje tilläggssida dokumenterar det manuella registreringsanropet.

Tillägg som kräver ett NuGet-paket levereras med sin egen licensieringsmodell (vissa mindre tillåtande), se till att referera till den licens som är associerad med de tillägg som du vill använda.

Vissa tillägg är experimentella: deras API:er kommenteras med diagnostiken TPEXP och kan komma att ändras i en framtida version, så du måste bekräfta diagnostiken för att använda dem. Experimentella tillägg markeras (experimentella) i följande listor.

Börja här

Använd följande sökväg baserat på ditt mål:

Välj efter scenario

  • Behöver anpassa terminalutdata: Terminalutdata (inbyggda)
  • Behöver TRX- eller Azure DevOps-rapporter: Testrapporter (tillägg)
  • Behöver GitHub Actions interna utdata (logggrupper, anteckningar och jobbsammanfattning): GitHub Actions rapport (tillägg)
  • Behöver täckningsdata: Kodtäckning (tillägg)
  • Behöver krasch- eller låsningsdiagnostik: Krasch- och låsningsdumpar (tillägg)
  • Behöver spela in skärmen under en körning: Diagnostik (tillägg, experimentell)
  • Behöver distribuera och starta en paketerad testvärd med fullständig förtroendenivå, UWP eller AppContainer: Distribution av testvärd (tillägg; API för experimentell start)
  • Måste återanvända Microsoft.Extensions.Configuration, Microsoft.Extensions.Hosting eller Microsoft.Extensions.Logging: Microsoft.Extensions-integration (tillägg, experimentell)
  • Behöver skapa redigerare eller IDE-integrering: Serverläge (inbyggt)
  • Behöver läsa in tillägg som inte är kompileringstidsreferenser: Dynamisk tilläggsinläsning (inbyggd, anmäl dig)
  • Behöver försöka igen misslyckade tester: Försök igen (tillägg)
  • Behöver hot reload stöd: Hot Reload (tillägg)
  • Behöver Microsoft Fakes-stöd: Microsoft Fakes (tillägg)
  • Behöver OpenTelemetry-spårningar och mått: OpenTelemetry (tillägg)
  • Behöver tillhandahålla AI-chattklienter till ett testramverk eller tillägg: AI-integreringar (tillägg, experimentella)
  • Insamling och avaktivering av telemetridata: Telemetri (tillägg)

Inbyggda funktioner

Dessa funktioner är en del av kärnplattformen och kräver inte ytterligare NuGet-paket.

Terminalutdata

Status- och förloppsrapportering till terminalen: utdatalägen, ANSI-stöd och förloppsindikatorer.

Serverläge

Styr identifiering och körning av tester från en redigerare, en IDE eller något annat verktyg via JSON-RPC.

Dynamisk inläsning av tillägg

Läs in uttryckligen deklarerade tilläggsassemblyer från JSON-manifest när en körning uttryckligen aktiverar det.

Tilläggsfunktioner

Dessa funktioner kräver installation av NuGet-paket.

Testrapporter

Generera testrapportfiler (TRX, HTML, JUnit, CTRF, Azure DevOps, GitHub Actions).

Kodtäckning

Samla in kodtäckningsdata under testkörningen.

Krasch- och hängdumpar

Samla in processdumpfiler när testmiljön kraschar eller låser sig.

OpenTelemetry

Generera spårningar och mått via OpenTelemetry under testkörningar.

AI-integreringar (experimentella)

Tillhandahålla providerneutrala AI-chattklienter för att testa ramverk och tillägg, bland annat via Azure AI Foundry.

Försök igen

Försök igen misslyckade tester med konfigurerbara principer.

Hot Reload

Kör tester med stöd för snabb omläsning för snabb iteration.

Microsoft förfalskningar

Kör tester som använder Microsoft Fakes för stubs och shims.

Telemetri

Telemetrisamling. Lär dig hur du avregistrerar dig och vilka data som samlas in.

Diagnostik (experimentell, introducerad i MTP 2.3.0)

Samla in underlag för att diagnostisera en körning, till exempel genom att spela in skärmen med videoinspelaren.

Testvärddistribution (introduceras i MTP 2.3.0; stabilt paket-API med start i MTP 2.4.0; experimentellt start-API; Stöd för UWP och AppContainer som introducerades i MTP 2.5)

Styr hur och var testvärdar distribueras och startas, inklusive både paketerade fulltrust-, UWP- och AppContainer-testvärdar.

Microsoft. Tilläggsintegrering (experimentell; loggning introducerad i MTP 2.3.0; konfiguration och värd som introducerades i förhandsversionen av MTP 2.5)

Anslut MTP till de bibliotek Microsoft.Extensions.* som din applikation redan använder, inklusive ögonblicksbilder av konfigurationen, applikationsägda värdar och vidarebefordran av diagnostikloggar.