MemberConditionAttribute Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
[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
- Vererbung
- Attribute
Hinweise
Wenn mehrere Membernamen an ein einzelnes Attribut übergeben werden, werden ihre Werte mit einem logischen AND kombiniert: Das Attribut IsConditionMet ist true nur, wenn jedes referenzierte Element ausgewertet wird true.
Jede MemberConditionAttribute Instanz bildet eine eigene GroupNameForm, sodass das Stapeln mehrerer MemberConditionAttribute Deklarationen für dasselbe Ziel mit einem logischen UND kombiniert wird und dem typischen [ConditionalFact] Verwendungsmuster in anderen Testframeworks entspricht.
Wenn das referenzierte Element nicht als publicstaticBoolean Eigenschaft, Feld oder parameterlose Methode gefunden werden kann oder (für Methoden) Parameter erforderlich ist, löst die Auswertung IsConditionMet eine .InvalidOperationException Dies wird als Testfehler anstelle eines automatischen Überspringens angezeigt, sodass Tippfehler und Umgestaltungen nicht versehentlich Tests deaktivieren.
Dieses Attribut wird nicht geerbt. Das Anwenden auf eine Basisklasse wirkt sich nicht auf abgeleitete Klassen aus.
[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() { }
Konstruktoren
| Name | Beschreibung |
|---|---|
| MemberConditionAttribute(ConditionMode, Type, String, String[]) |
Initialisiert eine neue Instanz der MemberConditionAttribute-Klasse. |
| MemberConditionAttribute(ConditionMode, Type, String) |
Initialisiert eine neue Instanz der MemberConditionAttribute-Klasse. |
| MemberConditionAttribute(Type, String, String[]) |
Initialisiert eine neue Instanz der MemberConditionAttribute Klasse mit Include Semantik: Der Test wird nur ausgeführt, wenn jedes referenzierte Element ausgewertet wird |
| MemberConditionAttribute(Type, String) |
Initialisiert eine neue Instanz der MemberConditionAttribute Klasse mit Include Semantik: Der Test wird nur ausgeführt, wenn das referenzierte Element ausgewertet wird |
Eigenschaften
| Name | Beschreibung |
|---|---|
| ConditionMemberNames |
Ruft den Namen(en) der |
| ConditionType |
Ruft den Typ ab, der die Member deklariert, die |
| GroupName |
Ruft den Gruppennamen für dieses Attribut ab. Dies ist relevant, wenn mehrere Attribute vorhanden sind, die erben ConditionBaseAttribute . Die IsConditionMet Werte von Attributen in derselben Gruppe sind "OR" zusammen. Während der Wert aus verschiedenen Gruppen "AND" zusammen ist. Mit anderen Worten, ein Test wird ignoriert, wenn eine Gruppe alle Werte IsConditionMet als "false" aufweist. |
| IgnoreMessage |
Dient zum Abrufen oder Festlegen der Ignorieren-Nachricht, die den Grund für die Ignorieren der Testmethode oder der Testklasse angibt. (Geerbt von ConditionBaseAttribute) |
| IsConditionMet |
Ruft einen Wert ab, der angibt, ob die Bedingung erfüllt ist. Die Implementierung dieser Eigenschaft sollte die Mode Eigenschaft nicht lesen. |
| Mode |
Ruft den Bedingungsmodus ab. (Geerbt von ConditionBaseAttribute) |