Freigeben über


Erneut versuchen

Dieses Feature erfordert das Microsoft.Testing.Extensions.Retry NuGet-Paket.

Tipp

Bei Verwendung von Microsoft.Testing.Platform.MSBuild (transitiv von MSTest, NUnit und xUnit runners eingeschlossen) wird diese Erweiterung automatisch registriert, wenn Sie das NuGet-Paket installieren – keine Codeänderungen erforderlich. Die manuelle Registrierung im folgenden Abschnitt ist nur erforderlich, wenn Sie den automatisch generierten Einstiegspunkt durch Festlegen <GenerateTestingPlatformEntryPoint>false</GenerateTestingPlatformEntryPoint>deaktiviert haben.

Manuelle Registrierung

var builder = await TestApplication.CreateBuilderAsync(args);
builder.TestHost.AddRetryProvider();

Erneut versuchen

Eine Erweiterung für .NET zur Test-Resilienz und vorübergehenden Fehlerbehandlung.

Diese Erweiterung ist für Integrationstests vorgesehen, bei denen der Test stark vom Zustand der Umgebung abhängt und vorübergehende Fehler auftreten kann.

Hinweis

Das Paket wird mit der restriktiven Microsoft.Testing.Platform Tools-Lizenz ausgeliefert. Die vollständige Lizenz ist unter https://www.nuget.org/packages/Microsoft.Testing.Extensions.Retry/1.0.0/Licenseverfügbar.

Options

Option Description
--retry-failed-tests Führen Sie alle fehlgeschlagenen Tests erneut aus, bis sie bestehen oder bis die maximale Anzahl von Versuchen erreicht ist. Erforderlich, um die Erweiterung zu aktivieren.
--retry-failed-tests-max-percentage Verhindert das erneute Ausführen von Tests, wenn der Prozentsatz der fehlgeschlagenen Testfälle den angegebenen Schwellenwert überschreitet. Kann nicht mit --retry-failed-tests-max-tests kombiniert werden.
--retry-failed-tests-max-tests Verhindert das erneute Ausführen von Tests, wenn die Anzahl der fehlgeschlagenen Testfälle den angegebenen Grenzwert überschreitet. Kann nicht mit --retry-failed-tests-max-percentage kombiniert werden.

Beide Schwellenwertoptionen (--retry-failed-tests-max-percentage und --retry-failed-tests-max-tests) erfordern, dass auch --retry-failed-tests festgelegt wird.

Beispiele

Wiederholung fehlgeschlagener Tests bis zu 3 Mal:

dotnet run --project Contoso.MyTests -- --retry-failed-tests 3

Tests mit Fehlern bis zu 2 Mal erneut ausführen, aber die erneute Ausführung beenden, wenn mehr als 50 % der Tests fehlgeschlagen sind.

dotnet run --project Contoso.MyTests -- --retry-failed-tests 2 --retry-failed-tests-max-percentage 50

Wiederholen Sie fehlgeschlagene Tests bis zu dreimal, aber beenden Sie die Wiederholungsversuche, wenn mehr als 10 Tests fehlschlagen.

dotnet run --project Contoso.MyTests -- --retry-failed-tests 3 --retry-failed-tests-max-tests 10

Einschränkungen

  • Wird auf Browserplattformen nicht unterstützt.
  • Wird im Modus "Hot Reload" nicht unterstützt.