MemberConditionAttribute 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.
[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à
- 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 |
| 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 |
Proprietà
| Nome | Descrizione |
|---|---|
| ConditionMemberNames |
Ottiene i nomi dei |
| ConditionType |
Ottiene il tipo che dichiara i |
| 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) |