MemberConditionAttribute Clase

Definición

Ejecuta o omite condicionalmente una clase de prueba o un método de prueba basado en el valor de uno o varios staticBoolean miembros (propiedad, campo o método sin parámetros) al que hace referencia y nombre Type de miembro.

[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
Herencia
MemberConditionAttribute
Atributos

Comentarios

Cuando se proporcionan varios nombres de miembro a un único atributo, sus valores se combinan con un AND lógico: el atributo IsConditionMet solo es true si cada miembro al que se hace referencia se evalúa como true.

Cada MemberConditionAttribute instancia forma su propia GroupName, por lo que el apilamiento de varias MemberConditionAttribute declaraciones en el mismo destino se combina con un AND lógico, que coincide con el patrón de uso típico [ConditionalFact] en otros marcos de prueba.

Si el miembro al que se hace referencia no se puede encontrar como propiedad publicstaticBoolean , campo o método sin parámetros, o (para métodos) requiere parámetros, la evaluación IsConditionMet produce una InvalidOperationExceptionexcepción . Esto se muestra como un error de prueba en lugar de una omisión silenciosa, por lo que los errores tipográficos y refactorizaciones no deshabilitan accidentalmente las pruebas.

Este atributo no se hereda. Aplicarlo a una clase base no afectará a las clases derivadas.

[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() { }

Constructores

Nombre Description
MemberConditionAttribute(ConditionMode, Type, String, String[])

Inicializa una nueva instancia de la clase MemberConditionAttribute.

MemberConditionAttribute(ConditionMode, Type, String)

Inicializa una nueva instancia de la clase MemberConditionAttribute.

MemberConditionAttribute(Type, String, String[])

Inicializa una nueva instancia de la MemberConditionAttribute clase con Include semántica: la prueba solo se ejecuta cuando cada miembro al que se hace referencia se evalúa como true.

MemberConditionAttribute(Type, String)

Inicializa una nueva instancia de la MemberConditionAttribute clase con Include semántica: la prueba solo se ejecuta cuando el miembro al que se hace referencia se evalúa como true.

Propiedades

Nombre Description
ConditionMemberNames

Obtiene los nombres de los staticBoolean miembros (propiedad, campo o método sin parámetros) que ConditionType se evalúan para esta condición. Varios valores se combinan con un AND lógico.

ConditionType

Obtiene el tipo que declara los static miembros usados para evaluar la condición.

GroupName

Obtiene el nombre del grupo para este atributo. Esto es relevante cuando hay varios atributos que heredan ConditionBaseAttribute . Los IsConditionMet valores de los atributos del mismo grupo son "OR" juntos. Aunque el valor de los distintos grupos es "AND" juntos. En otras palabras, se omitirá una prueba si algún grupo tiene todos sus IsConditionMet valores como false.

IgnoreMessage

Obtiene o establece el mensaje ignore que indica el motivo por el que se omite el método de prueba o la clase de prueba.

(Heredado de ConditionBaseAttribute)
IsConditionMet

Obtiene un valor que indica si se cumple la condición. La implementación de esta propiedad no debe leer la Mode propiedad .

Mode

Obtiene el modo de condición.

(Heredado de ConditionBaseAttribute)

Se aplica a