Bir test herhangi bir nedenle başarısız olabilir ve bazen testi yeniden çalıştırmak (ör. matristeki sorunlar gibi nedenlerle) ). Yeniden deneme yapmak için Tradefed'i yapılandırabilirsiniz otomatik olarak oluşturur.
Otomatik yeniden denemenin temelinde tüm testlerin yeniden çalıştırılmaması gerekir. tekrar çalışıyor başarısız oldu. Bu da yürütme süresinde büyük tasarruf sağlar.
Ayrıca, "trast", değişikliklerin algılanması için iterasyonlar özelliğiyle gevşekliğe Bu durumda, tüm testler tekrar çalıştırır ve yinelemelerden herhangi biri başarısız olursa test başarısız olur.
Otomatik yeniden denemeyi etkinleştir
Otomatik yeniden deneme,
Yeniden Decision nesnesi
Bu özellik, özelliği etkinleştirmek için iki seçenek sunar: max-testcase-run-count
ve retry-strategy
.
max-testcase-run-count
, gerçekleştirilecek deneme ve yineleme sayısını artırır
denenir. Sürekli yeniden denemeden kaçınmak için bir üst sınır belirler.
retry-strategy
, yeniden deneme kararını etkiler. aşağıdaki bölümleri inceleyin
inceleyebilirsiniz.
Otomatik yeniden denemeyi devre dışı bırak
Aşağıdaki seçeneği kullanın:
--retry-strategy NO_RETRY
Başarısız yeniden deneme işlemleri
Test hatalarını yeniden denemek için aşağıdaki seçenekleri kullanın:
--retry-strategy RETRY_ANY_FAILURE --max-testcase-run-count X
Bu işlem, başarısız olana kadar veya maksimum yeniden deneme sayısına ulaşana kadar yeniden dener ulaşılırsa (hangisi önce gelirse)
İterasyonlar/Yinelemeler
Testleri belirli bir süre boyunca yeniden çalıştırmak için aşağıdaki seçenekler kullanılabilir:
--retry-strategy ITERATIONS --max-testcase-run-count X
Sonuçlar nasıl görünüyor?
Sonuç bildirenler varsayılan olarak tüm denemelerin toplu sonuçlarını alır.
Örneğin: RETRY_ANY_FAILURE
için Fail
ve Pass
şu şekilde sonuçlanır:
Yeniden deneme, hatayı temizlemeyi başardığından beri Pass
toplandı.
Bildirenlerin toplu olmayan sonuçları alması mümkündür. Bunun için, web sitesi ve katalogda ISupportGranularResults arayüzü içeren bir etiket oluşturabilirsiniz.
Uygulama ayrıntıları
Başarısızlıkları test durumu düzeyinde yeniden çalıştırmak üzere otomatik yeniden denemeyi etkinleştirmek için ITestFilterReceiver.
ITestFilterReceiver'ı uygulayamıyorsanız, IAutoRetriableTest çalışma şeklini manuel olarak kontrol etmek için kullanılır. Yüklü Enstrümanlar Testi bu arayüzün örnek bir uygulamasıdır.