RetryAttribute Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Esse atributo é usado para definir uma contagem de repetição em um método de teste em caso de falha.
[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
- Herança
- Atributos
Comentários
Quando aplicado a uma classe de teste, o atributo é usado como padrão para cada método de teste declarado na classe. Um RetryAttribute colocado diretamente em um método de teste tem precedência sobre um nível de classe (o valor no nível do método substitui totalmente o valor de nível de classe, independentemente de ser maior ou menor). O atributo não é herdado: a aplicação a uma classe de teste base não o aplica a classes de teste derivadas.
Uma repetição é executada enquanto pelo menos uma Microsoft.VisualStudio.TestTools.UnitTesting.TestResult das tentativas tem um Failed ou Timeout resultado. A repetição é interrompida assim que uma tentativa não produz nenhum resultado com falha e sem tempo limite. Para um teste controlado por dados (vários resultados por tentativa), essa é uma regra de agregação: um Inconclusive resultado (por exemplo, quando o teste chama Assert.Inconclusive()) só termina de tentar novamente quando nenhum de seus irmãos resulta na mesma tentativa com falha ou tempo limite; caso contrário, a tentativa ainda será repetida. Os resultados da última tentativa se tornam o resultado final do teste.
Esse atributo tenta novamente dentro de uma única execução de host de teste. Ele é independente do Microsoft.Testing.Extensions.Retry--retry-failed-tests orquestrador, que invoca novamente todo o host de teste. Quando ambos estiverem habilitados ao mesmo tempo, a contagem de tentativas é multiplicada (um teste pode ser executado até (MaxRetryAttempts + 1) x (--retry-failed-tests + 1) o momento), portanto, evite combiná-los, a menos que isso seja pretendido.
Construtores
| Nome | Description |
|---|---|
| RetryAttribute(Int32) |
Inicializa uma nova instância da RetryAttribute classe com o número determinado de tentativas máximas. |
Propriedades
| Nome | Description |
|---|---|
| BackoffType |
Obtém ou define o tipo de retirada de atraso. |
| MaxRetryAttempts |
Obtém o número de repetições que o teste deve fazer em caso de falhas. Observe que, antes de RetryAttribute ser considerado, o teste já foi executado uma vez. Essa propriedade determina o número máximo de repetições após a primeira execução normal. |
| MillisecondsDelayBetweenRetries |
Obtém ou define o atraso, em milissegundos, entre novas tentativas. Esse atraso também é aplicado após a primeira execução e antes da primeira tentativa de repetição. |
Métodos
| Nome | Description |
|---|---|
| ExecuteAsync(RetryContext) |
Tenta novamente o método de teste. Os detalhes de como a repetição é feita são deixados para as classes derivadas. Observe que uma primeira execução do método já foi executada e falhou antes de esse método ser chamado. (Herdado de RetryBaseAttribute) |