RetryAttribute Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Questo attributo viene usato per impostare un conteggio dei tentativi su un metodo di test in caso di errore.
[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
- Ereditarietà
- Attributi
Commenti
Se applicato a una classe di test, l'attributo viene usato come valore predefinito per ogni metodo di test dichiarato nella classe . Un RetryAttribute oggetto posizionato direttamente su un metodo di test ha la precedenza su un livello di classe (il valore a livello di metodo sostituisce completamente il valore a livello di classe, indipendentemente dal fatto che sia maggiore o minore). L'attributo non viene ereditato: l'applicazione a una classe di test di base non viene applicata alle classi di test derivate.
Viene eseguito un nuovo tentativo mentre almeno un Microsoft.VisualStudio.TestTools.UnitTesting.TestResult tentativo ha un Failed risultato o Timeout . La ripetizione dei tentativi viene arrestata non appena un tentativo non produce alcun risultato non riuscito e non viene restituito alcun timeout. Per un test basato sui dati (più risultati per tentativo) si tratta di una regola di aggregazione: un Inconclusive risultato (ad esempio quando il test chiama Assert.Inconclusive()) termina solo quando nessuno dei risultati di pari livello comporta lo stesso tentativo non riuscito o timeout; in caso contrario, il tentativo viene ancora ritentato. I risultati dell'ultimo tentativo diventano il risultato finale del test.
Questo attributo esegue un nuovo tentativo all'interno di un'esecuzione di un singolo host di test. È indipendente dall'agente Microsoft.Testing.Extensions.Retry--retry-failed-tests di orchestrazione, che richiama nuovamente l'intero host di test. Quando entrambi sono abilitati contemporaneamente, il conteggio dei tentativi viene moltiplicato (un test può essere eseguito fino a (MaxRetryAttempts + 1) x (--retry-failed-tests + 1) volte), quindi evitare di combinarli a meno che non sia previsto.
Costruttori
| Nome | Descrizione |
|---|---|
| RetryAttribute(Int32) |
Inizializza una nuova istanza della RetryAttribute classe con il numero specificato di tentativi massimi. |
Proprietà
| Nome | Descrizione |
|---|---|
| BackoffType |
Ottiene o imposta il tipo di backoff ritardato. |
| MaxRetryAttempts |
Ottiene il numero di tentativi che il test deve eseguire in caso di errori. Si noti che prima che RetryAttribute venga considerato, il test è già stato eseguito una volta. Questa proprietà determina il numero massimo di tentativi dopo la prima esecuzione normale. |
| MillisecondsDelayBetweenRetries |
Ottiene o imposta il ritardo, espresso in millisecondi, tra i tentativi. Questo ritardo viene applicato anche dopo la prima esecuzione e prima del primo tentativo. |
Metodi
| Nome | Descrizione |
|---|---|
| ExecuteAsync(RetryContext) |
Ritenta il metodo di test. I dettagli sulla modalità di ripetizione dei tentativi vengono lasciati alle classi derivate. Si noti che una prima esecuzione del metodo è già stata eseguita e non è riuscita prima di chiamare questo metodo. (Ereditato da RetryBaseAttribute) |