MemberConditionAttribute Classe

Definizione

Esegue o ignora in modo condizionale una classe di test o un metodo di test in base al valore di uno o più staticBoolean membri (proprietà, campo o metodo senza parametri) a cui fa Type riferimento e il nome del membro.

[System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method, AllowMultiple=true, Inherited=false)]
public sealed class MemberConditionAttribute : Microsoft.VisualStudio.TestTools.UnitTesting.ConditionBaseAttribute
[System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method, AllowMultiple=true, Inherited=false)]
[System.Runtime.CompilerServices.Nullable(0)]
public sealed class MemberConditionAttribute : Microsoft.VisualStudio.TestTools.UnitTesting.ConditionBaseAttribute
[<System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method, AllowMultiple=true, Inherited=false)>]
type MemberConditionAttribute = class
    inherit ConditionBaseAttribute
[<System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method, AllowMultiple=true, Inherited=false)>]
[<System.Runtime.CompilerServices.Nullable(0)>]
type MemberConditionAttribute = class
    inherit ConditionBaseAttribute
Public NotInheritable Class MemberConditionAttribute
Inherits ConditionBaseAttribute
Ereditarietà
MemberConditionAttribute
Attributi

Commenti

Quando vengono forniti più nomi di membri a un singolo attributo, i relativi valori vengono combinati con un AND logico: l'attributo IsConditionMet è true solo se ogni membro a cui si fa riferimento restituisce true.

Ogni MemberConditionAttribute istanza costituisce il proprio GroupName, quindi l'impilate di più MemberConditionAttribute dichiarazioni sulla stessa destinazione viene combinata con un AND logico, che corrisponde al modello di utilizzo tipico [ConditionalFact] in altri framework di test.

Se il membro a cui si fa riferimento non può essere trovato come publicstaticBoolean proprietà, campo o metodo senza parametri oppure (per i metodi) richiede parametri, la valutazione IsConditionMet genera un'eccezione .InvalidOperationException In questo modo viene visualizzato un errore di test anziché un salto invisibile all'utente, quindi i refactoring e i refactoring non disabilitano accidentalmente i test.

Questo attributo non viene ereditato. L'applicazione a una classe base non influirà sulle classi derivate.

[TestMethod]
[MemberCondition(typeof(Environment), nameof(Environment.Is64BitProcess))]
public void Only_Runs_On_64Bit() { }

[TestMethod]
[MemberCondition(typeof(PlatformDetection),
    nameof(PlatformDetection.IsNotBrowser),
    nameof(PlatformDetection.IsThreadingSupported))]
public void Requires_Threading_And_Not_Browser() { }

[TestMethod]
[MemberCondition(ConditionMode.Exclude, typeof(PlatformDetection), nameof(PlatformDetection.IsMonoRuntime))]
public void Does_Not_Run_On_Mono() { }

Costruttori

Nome Descrizione
MemberConditionAttribute(ConditionMode, Type, String, String[])

Inizializza una nuova istanza della classe MemberConditionAttribute.

MemberConditionAttribute(ConditionMode, Type, String)

Inizializza una nuova istanza della classe MemberConditionAttribute.

MemberConditionAttribute(Type, String, String[])

Inizializza una nuova istanza della MemberConditionAttribute classe con Include semantica: il test viene eseguito solo quando ogni membro a cui si fa riferimento restituisce true.

MemberConditionAttribute(Type, String)

Inizializza una nuova istanza della MemberConditionAttribute classe con Include semantica: il test viene eseguito solo quando il membro a cui si fa riferimento restituisce true.

Proprietà

Nome Descrizione
ConditionMemberNames

Ottiene i nomi dei staticBoolean membri (proprietà, campo o metodo senza parametri) valutati ConditionType per questa condizione. Più valori vengono combinati con un AND logico.

ConditionType

Ottiene il tipo che dichiara i static membri utilizzati per valutare la condizione.

GroupName

Ottiene il nome del gruppo per questo attributo. Questo è rilevante quando sono presenti più attributi che ereditano ConditionBaseAttribute . I IsConditionMet valori degli attributi nello stesso gruppo sono "OR" ed insieme. Mentre il valore di gruppi diversi è "AND" ed insieme. In altre parole, un test verrà ignorato se un gruppo ha tutti i relativi IsConditionMet valori come false.

IgnoreMessage

Ottiene o imposta il messaggio ignore che indica il motivo dell'esclusione del metodo di test o della classe di test.

(Ereditato da ConditionBaseAttribute)
IsConditionMet

Ottiene un valore che indica se la condizione viene soddisfatta. L'implementazione di questa proprietà non deve leggere la Mode proprietà .

Mode

Ottiene la modalità condizione.

(Ereditato da ConditionBaseAttribute)

Si applica a