MemberConditionAttribute Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
[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
- 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 |
| 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 |
Propiedades
| Nombre | Description |
|---|---|
| ConditionMemberNames |
Obtiene los nombres de los |
| ConditionType |
Obtiene el tipo que declara los |
| 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) |