ExecutableConditionAttribute Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Esse atributo é usado para controlar condicionalmente se uma classe de teste ou um método de teste será executado ou ignorado, com base em se um determinado executável (ferramenta) está disponível.
[System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method, AllowMultiple=true, Inherited=false)]
public sealed class ExecutableConditionAttribute : 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 ExecutableConditionAttribute : Microsoft.VisualStudio.TestTools.UnitTesting.ConditionBaseAttribute
[<System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method, AllowMultiple=true, Inherited=false)>]
type ExecutableConditionAttribute = class
inherit ConditionBaseAttribute
[<System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method, AllowMultiple=true, Inherited=false)>]
[<System.Runtime.CompilerServices.Nullable(0)>]
type ExecutableConditionAttribute = class
inherit ConditionBaseAttribute
Public NotInheritable Class ExecutableConditionAttribute
Inherits ConditionBaseAttribute
- Herança
- Atributos
Comentários
Essa é uma condição genérica e independente de ferramentas. Há dois modos:
- Quando não Arguments for fornecido, a condição verifica apenas se o executável é detectável no sistema
PATH(e, em Windows, resolvível por).PATHEXTEle não executa o executável. Por exemplo, ele pode verificardockerse está instalado. - Quando Arguments são fornecidos, a condição é executada
executable argumentse atendida somente quando o processo é encerrado com o código0dentro TimeoutSeconds. Por exemplo,[ExecutableCondition("docker", "version")]verifica se a CLI do Docker realmente responde. A saída do processo é redirecionada e descartada e o processo (juntamente com sua árvore de processo filho, em que o runtime dá suporte a ele) é encerrado se exceder o tempo limite.
Estado específico do produto (por exemplo, se o daemon do Docker está configurado para contêineres do Linux) está intencionalmente fora do escopo; camada tais verificações sobre esse atributo ou criar seu próprio ConditionBaseAttribute.
Cada combinação de executáveis e argumentos distintos forma seu próprio grupo de condições (consulte GroupName). Como resultado, aplicar o atributo várias vezes com comandos diferentes requer que todos eles sejam satisfeitos (AND lógico), enquanto a aplicá-lo várias vezes com o mesmo comando requer apenas um para corresponder (OR lógico).
Esse atributo não é herdado. A aplicação a uma classe base não afetará as classes derivadas.
Construtores
| Nome | Description |
|---|---|
| ExecutableConditionAttribute(ConditionMode, String, String[]) |
Inicializa uma nova instância da classe ExecutableConditionAttribute. |
| ExecutableConditionAttribute(ConditionMode, String) |
Inicializa uma nova instância da ExecutableConditionAttribute classe que verifica se o executável determinado está disponível. |
| ExecutableConditionAttribute(String, String[]) |
Inicializa uma nova instância da ExecutableConditionAttribute classe que inclui o teste somente quando o comando determinado está disponível. |
| ExecutableConditionAttribute(String) |
Inicializa uma nova instância da ExecutableConditionAttribute classe que inclui o teste somente quando o executável determinado estiver disponível. |
Propriedades
| Nome | Description |
|---|---|
| Arguments |
Obtém os argumentos passados para o executável. Quando vazio, somente a presença do executável é |
| Executable |
Obtém o executável que essa condição procura. |
| GroupName |
Obtém o nome do grupo para esse atributo. Cada comando -- combinado com Mode -- forma seu próprio grupo, portanto, exigir vários comandos diferentes é combinado com um AND lógico, enquanto o mesmo comando com modos opostos não cancela silenciosamente (espelhamento MemberConditionAttribute). |
| 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) |
| TimeoutSeconds |
Obtém ou define o número máximo de segundos para aguardar a saída do executável quando Arguments for fornecido. Um valor menor ou igual a 0 significa que não há tempo limite. O padrão é 30 segundos. |