Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu özellik , Microsoft.Testing.Extensions.Retry NuGet paketini gerektirir.
İpucu
Microsoft.Testing.Platform.MSBuild kullanırken (MSTest, NUnit ve xUnit çalıştırıcıları tarafından geçişli olarak dahil), NuGet paketini yüklediğinizde bu uzantı otomatik olarak kaydedilir; kod değişikliği gerekmez. Aşağıdaki bölümdeki el ile kayıt, yalnızca ayarıyla <GenerateTestingPlatformEntryPoint>false</GenerateTestingPlatformEntryPoint>otomatik olarak oluşturulan giriş noktasını devre dışı bırakmış olmanız durumunda gereklidir.
El ile kayıt
var builder = await TestApplication.CreateBuilderAsync(args);
builder.AddRetryProvider();
Yeniden Dene
.NET test dayanıklılığı ve geçici hata işleme uzantısı.
Bu uzantı, testin büyük ölçüde ortamın durumuna bağlı olduğu ve geçici hatalarla karşılaşabileceği tümleştirme testlerine yöneliktir.
Uyarı
Paket kısıtlayıcı Microsoft.Testing.Platform Araçları lisansıyla birlikte gönderilir. Tam lisansa https://www.nuget.org/packages/Microsoft.Testing.Extensions.Retry/1.0.0/Licenseadresinden ulaşabilirsiniz.
Options
| Seçenek | Description |
|---|---|
--retry-failed-tests |
Başarısız testleri geçene kadar veya deneme sayısı üst sınırına ulaşılana kadar yeniden çalıştırır. Uzantıyı etkinleştirmek için gereklidir. |
--retry-failed-tests-max-percentage |
Başarısız test çalışmalarının yüzdesi belirtilen eşiği aştığında testlerin yeniden çalıştırılmasını önler.
--retry-failed-tests-max-tests ile birleştirilemez. gerektirir --retry-failed-tests. |
--retry-failed-tests-max-tests |
Başarısız test çalışmalarının sayısı belirtilen sınırı aştığında testlerin yeniden çalıştırılmasını önler.
--retry-failed-tests-max-percentage ile birleştirilemez. gerektirir --retry-failed-tests. |
--retry-failed-tests-delay |
Yeniden denemeler arasına gecikme ekler. Gecikme, veya 200gibi 500ms1s2.5m1h1dbir zaman değeri olarak ifade edilir. Varsayılan birim milisaniyedir. gerektirir --retry-failed-tests. 2.3.0 sürümünden itibaren MTP'de kullanılabilir. |
Her iki eşik seçeneğinin de (--retry-failed-tests-max-percentage ve --retry-failed-tests-max-tests) ayarlanması gerekir --retry-failed-tests .
MTP 2.4.0'dan başlayarak, yeniden deneme özeti ayrı flaky raporlar ve retriedFlaky testleri altında kurtarılan test adlarını sayar ve listeler. Yanıltıcı toplamları önlemek için MTP, ilk denemeden sonra filtrelenmiş yeniden deneme girişimleri için tam paket bir özet yazdırmaz. Gösterişli ayrıntıları göstermek veya gizlemek için terminal muhabirinin --show-flaky-tests seçeneğini kullanın.
Her yeniden deneme girişimi, rapor yapıtlarını dizinin altına Retries yazar. JUnit için en üst düzey rapor, özgün tam paketi değil yalnızca son filtrelenmiş yeniden deneme denemesini temsil eder; CI'nizin tam kapsam gerektirdiği durumlardan önceki deneme raporlarını Retries toplayın. Bu düzen için --retry-failed-testsgeçerlidir. MSTest'in işlemdeki [Retry] hali yerine yerine geçen girişimleri test başına son bir JUnit veya TRX sonucuna daraltıyor.
Örnekler
Başarısız testleri en fazla 3 kez yeniden deneyin:
dotnet run --project Contoso.MyTests -- --retry-failed-tests 3
Başarısız testleri en fazla 2 kez yeniden deneyin, ancak 50%'den fazla test başarısız olursa yeniden denemeyi durdurun:
dotnet run --project Contoso.MyTests -- --retry-failed-tests 2 --retry-failed-tests-max-percentage 50
Başarısız testleri en fazla 3 kez yeniden deneyin, ancak 10'dan fazla test başarısız olursa yeniden denemeyi durdurun:
dotnet run --project Contoso.MyTests -- --retry-failed-tests 3 --retry-failed-tests-max-tests 10
Sınırlamalar
- Tarayıcı platformlarında desteklenmez.
- Hot Reload modunda desteklenmiyor.