Język

RetryAttribute Klasa

Definicja

Ten atrybut służy do ustawiania liczby ponownych prób dla metody testowej w przypadku awarii.

[System.AttributeUsage(System.AttributeTargets.Method, AllowMultiple=false, Inherited=false)]
public sealed class RetryAttribute : Microsoft.VisualStudio.TestTools.UnitTesting.RetryBaseAttribute
[System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method, AllowMultiple=false, Inherited=false)]
public sealed class RetryAttribute : Microsoft.VisualStudio.TestTools.UnitTesting.RetryBaseAttribute
[<System.AttributeUsage(System.AttributeTargets.Method, AllowMultiple=false, Inherited=false)>]
type RetryAttribute = class
    inherit RetryBaseAttribute
[<System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method, AllowMultiple=false, Inherited=false)>]
type RetryAttribute = class
    inherit RetryBaseAttribute
Public NotInheritable Class RetryAttribute
Inherits RetryBaseAttribute
Dziedziczenie
RetryAttribute
Atrybuty

Uwagi

W przypadku zastosowania do klasy testowej atrybut jest używany jako domyślny dla każdej metody testowej zadeklarowanej w klasie. Wartość RetryAttribute umieszczona bezpośrednio w metodzie testowej ma pierwszeństwo przed wartością na poziomie klasy (wartość na poziomie metody w pełni zastępuje wartość na poziomie klasy, niezależnie od tego, czy jest większa, czy mniejsza). Atrybut nie jest dziedziczony: zastosowanie go do klasy testowej podstawowej nie powoduje zastosowania go do klas testowych pochodnych.

Próba ponawiania jest wykonywana, gdy co najmniej jedna z Microsoft.VisualStudio.TestTools.UnitTesting.TestResult prób ma Failed wynik lub Timeout . Ponowienie próby zostanie zatrzymane, gdy tylko próba nie zakończy się niepowodzeniem i nie zostanie przekroczony limit czasu. W przypadku testu opartego na danych (wiele wyników na próbę) jest to reguła agregacji: Inconclusive wynik (na przykład gdy wywołania Assert.Inconclusive()testowe ) kończy się ponowienie próby tylko wtedy, gdy żadna z jego elementów równorzędnych nie spowoduje niepowodzenia lub przekroczenia limitu czasu; w przeciwnym razie próba jest nadal ponawiana. Wyniki ostatniej próby stają się ostatecznym wynikiem testu.

Ten atrybut ponawia próbę w ramach jednego przebiegu hosta testowego. Jest on niezależny od orkiestratora Microsoft.Testing.Extensions.Retry--retry-failed-tests , który ponownie wywołuje całego hosta testowego. Gdy obie są włączone w tym samym czasie, liczba prób jest mnożona (test może być uruchamiany do (MaxRetryAttempts + 1) x (--retry-failed-tests + 1) czasu), więc unikaj łączenia ich, chyba że jest to zamierzone.

Konstruktory

Nazwa Opis
RetryAttribute(Int32)

Inicjuje RetryAttribute nowe wystąpienie klasy z podaną liczbą maksymalnych ponownych prób.

Właściwości

Nazwa Opis
BackoffType

Pobiera lub ustawia typ opóźnienia wycofywania.

MaxRetryAttempts

Pobiera liczbę ponownych prób, które test powinien wykonać w przypadku awarii. Należy pamiętać, że przed rozważeniu elementu RetryAttribute test został już wykonany raz. Ta właściwość określa maksymalną liczbę ponownych prób po pierwszym normalnym uruchomieniu.

MillisecondsDelayBetweenRetries

Pobiera lub ustawia opóźnienie (w milisekundach) między ponownymi próbami. To opóźnienie jest również stosowane po pierwszym uruchomieniu i przed pierwszą próbą ponawiania.

Metody

Nazwa Opis
ExecuteAsync(RetryContext)

Ponawia próbę metody testowej. Szczegóły dotyczące ponawiania próby są pozostawione do klas pochodnych. Należy pamiętać, że pierwsze uruchomienie metody zostało już wykonane i nie powiodło się przed wywołaniem tej metody.

(Odziedziczone po RetryBaseAttribute)

Dotyczy