Testler herhangi bir nedenle başarısız olabilir. Bazen testin tekrar çalıştırılması, testin tekrar geçmesi için yeterlidir (temel altyapıdaki sorunlar gibi kararsızlıklar nedeniyle). Tradefed'i yeniden denemeyi otomatik olarak gerçekleştirecek şekilde yapılandırabilirsiniz.
Otomatik yeniden deneme özelliğinin temelinde, testlerin tümünün yeniden çalıştırılmasını önlemek vardır. Yalnızca başarısız testler yeniden çalıştırılır. Bu da yürütme süresinde büyük tasarruf sağlar.
Ayrıca, "trast", çeşitli öğeleri tespit etmek için iterasyonlar özelliğiyle gevşekliğe Bu durumda tüm testler yeniden çalıştırılır ve iterasyonlardan herhangi biri başarısız olursa test başarısız olur.
Otomatik yeniden denemeyi etkinleştirme
Otomatik yeniden deneme,
RetryDecision nesnesi
Bu özellik, özelliği etkinleştirmek için iki seçenek sunar: max-testcase-run-count
ve retry-strategy
.
max-testcase-run-count
, denenecek yeniden deneme veya iterasyon sayısını belirler. Sürekli yeniden denemeden kaçınmak için bir üst sınır belirler.
retry-strategy
, yeniden deneme şekline karar verir. Daha fazla bilgi için aşağıdaki bölümlere bakın.
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ç bildiren kullanıcılar varsayılan olarak tüm denemelerin toplu sonuçlarını alır.
Örneğin: RETRY_ANY_FAILURE
için bir Fail
ve bir Pass
, yeniden deneme hatayı gidermeyi başardığı için birleştirilmiş bir Pass
ile sonuçlanır.
Raporlama yapanların toplu olmayan sonuçları alması mümkündür. Bunun için ayrıntılı (toplu olmayan) sonuçlar için destek belirten ISupportGranularResults arayüzünü genişletmeleri gerekir.
Uygulama ayrıntıları
Testin başarısız olduğu durumlarda testin otomatik olarak yeniden denenmesi için ITestFilterReceiver'ı uygulayın.
ITestFilterReceiver'ı uygulayamıyorsanız, IAutoRetriableTest çalışma şeklini manuel olarak kontrol etmek için gereklidir. Yüklü Enstrümanlar Testi bu arayüzün örnek bir uygulamasıdır.