RetryAttribute Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Este atributo se usa para establecer un recuento de reintentos en un método de prueba en caso de error.
[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
- Herencia
- Atributos
Comentarios
Cuando se aplica a una clase de prueba, el atributo se usa como valor predeterminado para cada método de prueba declarado en la clase . Un RetryAttribute elemento colocado directamente en un método de prueba tiene prioridad sobre un nivel de clase uno (el valor de nivel de método reemplaza completamente el valor de nivel de clase, independientemente de si es mayor o menor). El atributo no se hereda: aplicarlo a una clase de prueba base no lo aplica a las clases de prueba derivadas.
Se realiza un reintento mientras que al menos uno Microsoft.VisualStudio.TestTools.UnitTesting.TestResult de los intentos tiene un Failed resultado o Timeout . El reintento se detiene en cuanto un intento no genera ningún error y no se agota el tiempo de espera. Para una prueba controlada por datos (varios resultados por intento), se trata de una regla de agregado: un Inconclusive resultado (por ejemplo, cuando la prueba llama Assert.Inconclusive()a ) solo finaliza el reintento cuando ninguno de sus elementos del mismo nivel da como resultado un error en el mismo intento o se agota el tiempo de espera; de lo contrario, el intento todavía se vuelve a intentar. Los resultados del último intento se convierten en el resultado final de la prueba.
Este atributo vuelve a intentarlo dentro de una sola ejecución de host de prueba. Es independiente del Microsoft.Testing.Extensions.Retry--retry-failed-tests orquestador, que vuelve a invocar todo el host de prueba. Cuando ambos están habilitados al mismo tiempo, los recuentos de intentos se multiplican (una prueba puede ejecutarse hasta (MaxRetryAttempts + 1) x (--retry-failed-tests + 1) veces), por lo que evite combinarlos a menos que se trate de lo previsto.
Constructores
| Nombre | Description |
|---|---|
| RetryAttribute(Int32) |
Inicializa una nueva instancia de la RetryAttribute clase con el número especificado de reintentos máximos. |
Propiedades
| Nombre | Description |
|---|---|
| BackoffType |
Obtiene o establece el tipo de retroceso retrasado. |
| MaxRetryAttempts |
Obtiene el número de reintentos que la prueba debe realizar en caso de errores. Tenga en cuenta que antes de considerar RetryAttribute, la prueba ya se ejecutó una vez. Esta propiedad determina el número máximo de reintentos después de la primera ejecución normal. |
| MillisecondsDelayBetweenRetries |
Obtiene o establece el retraso, en milisegundos, entre reintentos. Este retraso también se aplica después de la primera ejecución y antes del primer reintento. |
Métodos
| Nombre | Description |
|---|---|
| ExecuteAsync(RetryContext) |
Reintenta el método de prueba. Los detalles de cómo se realiza el reintento se dejan en las clases derivadas. Tenga en cuenta que ya se ejecutó una primera ejecución del método y se produjo un error antes de llamar a este método. (Heredado de RetryBaseAttribute) |