MemberConditionAttribute Classe

Definição

Executa ou ignora condicionalmente uma classe de teste ou um método de teste com base no valor de um ou mais staticBoolean membros (propriedade, campo ou método sem parâmetros) referenciados pelo Type nome do 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
Herança
MemberConditionAttribute
Atributos

Comentários

Quando vários nomes de membro são fornecidos a um único atributo, seus valores são combinados com um AND lógico: o atributo IsConditionMet é true somente se cada membro referenciado for avaliado como true.

Cada MemberConditionAttribute instância forma sua própria GroupName, portanto, empilhar várias MemberConditionAttribute declarações no mesmo destino é combinado com um AND lógico, correspondendo ao padrão de uso típico [ConditionalFact] em outras estruturas de teste.

Se o membro referenciado não puder ser encontrado como uma publicstaticBoolean propriedade, campo ou método sem parâmetros ou (para métodos) exigir parâmetros, a avaliação IsConditionMet gerará um .InvalidOperationException Isso aparece como um erro de teste em vez de um salto silencioso para que erros de digitação e refatorações não desabilitem acidentalmente os testes.

Esse atributo não é herdado. A aplicação a uma classe base não afetará as classes 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() { }

Construtores

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

Inicializa uma nova instância da classe MemberConditionAttribute.

MemberConditionAttribute(ConditionMode, Type, String)

Inicializa uma nova instância da classe MemberConditionAttribute.

MemberConditionAttribute(Type, String, String[])

Inicializa uma nova instância da MemberConditionAttribute classe com Include semântica: o teste é executado somente quando cada membro referenciado é avaliado truecomo .

MemberConditionAttribute(Type, String)

Inicializa uma nova instância da MemberConditionAttribute classe com Include semântica: o teste é executado somente quando o membro referenciado é avaliado como true.

Propriedades

Nome Description
ConditionMemberNames

Obtém o(s) nome(s) dos staticBoolean membros (propriedade, campo ou método sem parâmetros) na ConditionType avaliação dessa condição. Vários valores são combinados com um AND lógico.

ConditionType

Obtém o tipo que declara os static membros usados para avaliar a condição.

GroupName

Obtém o nome do grupo para esse atributo. Isso é relevante quando vários atributos que herdam ConditionBaseAttribute estão presentes. Os IsConditionMet valores dos atributos no mesmo grupo são "OR" juntos. Enquanto o valor de grupos diferentes é "AND" juntos. Em outras palavras, um teste será ignorado se qualquer grupo tiver todos os seus IsConditionMet valores como false.

IgnoreMessage

Obtém ou define a mensagem de ignorar indicando o motivo para ignorar o método de teste ou a classe de teste.

(Herdado de ConditionBaseAttribute)
IsConditionMet

Obtém um valor que indica se a condição é atendida. A implementação dessa propriedade não deve ler a Mode propriedade.

Mode

Obtém o modo de condição.

(Herdado de ConditionBaseAttribute)

Aplica-se a