Microsoft. Testing.Platform (MTP)-Features

MTP wird mit integrierten Features ausgeliefert und kann über NuGet-Pakete erweitert werden.

Bei Verwendung von Microsoft.Testing.Platform.MSBuild (transitiv von MSTest, NUnit und xUnit runners eingeschlossen) ist die Installation eines NuGet-Erweiterungspakets alles, was Sie benötigen – Erweiterungen werden automatisch erkannt und registriert, und der Einstiegspunkt wird für Sie generiert.

Wenn Sie den automatisch generierten Einstiegspunkt durch Festlegen <GenerateTestingPlatformEntryPoint>false</GenerateTestingPlatformEntryPoint>deaktivieren, müssen Sie Erweiterungen manuell in Ihrer Main Methode registrieren. Jede Erweiterungsseite dokumentiert den manuellen Registrierungsanruf.

Erweiterungen, die ein NuGet-Paket erfordern, werden mit ihrem eigenen Lizenzierungsmodell (einige weniger zulässig) ausgeliefert, stellen Sie sicher, dass Sie auf die Lizenz verweisen, die den Erweiterungen zugeordnet ist, die Sie verwenden möchten.

Beginnen Sie hier

Verwenden Sie den folgenden Pfad basierend auf Ihrem Ziel:

Nach Szenario auswählen

  • Muss die Terminalausgabe anpassen: Terminalausgabe (integriert)
  • Benötigen Sie TRX- oder Azure DevOps-Berichte: Test-Berichte (Erweiterung)
  • Benötigen Sie Abdeckungsdaten: Codeabdeckung (Erweiterung)
  • Benötigen Sie Absturz- oder Hängediagnose: Absturz- und Hängeabbilder (Erweiterung)
  • Fehlertests müssen wiederholt werden: Wiederholen (Erweiterung)
  • Benötigt Hot Reload Unterstützung: Hot Reload (Erweiterung)
  • Microsoft Fakes-Support benötigen: Microsoft Fakes (Erweiterung)
  • Benötigen Sie OpenTelemetry-Ablaufverfolgungen und Metriken: OpenTelemetry (Erweiterung)
  • Telemetriedatensammlung und Abmeldung: Telemetrie (Erweiterung)

Integrierte Features

Diese Features sind Teil der Kernplattform und erfordern keine zusätzlichen NuGet-Pakete.

Terminalausgabe

Status- und Fortschrittsberichte an das Terminal: Ausgabemodi, ANSI-Unterstützung und Fortschrittsindikatoren.

Erweiterungsfunktionen

Für diese Features müssen NuGet-Pakete installiert werden.

Testberichte

Generieren von Testberichtsdateien (TRX, Azure DevOps).

Codeabdeckung

Sammeln Sie Codeabdeckungsdaten während der Testausführung.

Daten eines Absturzes oder von Blockaden

Sammeln Sie Prozessabbilddateien, wenn der Testhost abstürzt oder hängt.

OpenTelemetry

Senden Sie Traces und Metriken über OpenTelemetry während Testläufen.

Wiederholen

Wiederholen Sie fehlgeschlagene Tests mit konfigurierbaren Richtlinien.

Hot Reload

Führen Sie Tests mit Hot-Reload-Unterstützung für schnelle Iterationen durch.

Microsoft Fälschungen

Führen Sie Tests aus, die Microsoft Fakes für Stubs und Shims verwenden.

Telemetrie

Telemetrieerfassung. Erfahren Sie, wie Sie sich abmelden und welche Daten gesammelt werden.

Protokollierungsintegration

Hinweis

Die Microsoft. Extensions.Logging Bridge wurde in MTP 2.3.0 eingeführt.

Das Paket Microsoft.Testing.Extensions.Logging verbindet die Diagnoseinformationen von Microsoft.Testing.Platform mit ILogger, sodass Protokolle der Plattform und der Erweiterungen durch dieselbe Microsoft.Extensions.Logging-Pipeline fließen, die Ihre Anwendung bereits verwendet.

Manuelle Registrierung:

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

Experimentelle Erweiterungen

Die folgenden Erweiterungen sind experimentell. Ihre APIs werden mit der TPEXP Diagnose kommentiert und können sich in einer zukünftigen Version ändern. Die Verwendung erfordert die Bestätigung der experimentellen Diagnose. Weitere Informationen finden Sie unter Microsoft. Testing.Platform Diagnostics.

Videorekorder (experimentell eingeführt in MTP 2.3.0)

Zeichnet den Bildschirm während einer Testausführung auf. Dafür muss ffmpeg auf dem Rechner verfügbar sein und wird mit der Option --capture-video aktiviert. Registrieren Sie sie manuell mit builder.AddVideoRecorderProvider().

Verpackte App-Bereitstellung (experimentell eingeführt in MTP 2.3.0)

Eine Referenzerweiterung, die den experimentellen ITestHostLauncher-Erweiterungspunkt verwendet, um einen Testhost für eine paketierte App bereitzustellen und zu starten. Registrieren Sie sie manuell mit builder.AddPackagedAppDeployment().