ExecutableConditionAttribute 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í.
Este atributo se usa para controlar condicionalmente si una clase de prueba o un método de prueba se ejecutará o se omitirá, en función de si hay disponible un archivo ejecutable determinado (herramienta).
[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
- Herencia
- Atributos
Comentarios
Se trata de una condición genérica independiente de herramientas. Hay dos modos:
- Cuando no se proporciona ningunaArguments, la condición solo comprueba que el archivo ejecutable se puede detectar en el sistema
PATH(y, en Windows, se puede resolver a travésPATHEXTde ). No ejecuta el archivo ejecutable. Por ejemplo, puede comprobar quedockerestá instalado. - Cuando Arguments se proporcionan, la condición se ejecuta
executable argumentsy solo se cumple cuando el proceso se cierra con código0dentro de TimeoutSeconds. Por ejemplo,[ExecutableCondition("docker", "version")]comprueba que la CLI de Docker responde realmente. La salida del proceso se redirige y descarta, y el proceso (junto con su árbol de procesos secundario, donde el tiempo de ejecución lo admite) finaliza si supera el tiempo de espera.
Estado específico del producto (por ejemplo, si el demonio de Docker está configurado para contenedores de Linux) está fuera del ámbito intencionadamente; layer tales comprobaciones encima de este atributo o author your own ConditionBaseAttribute.
Cada combinación de argumentos y ejecutables distintos forma su propio grupo de condiciones (vea GroupName). Como resultado, aplicar el atributo varias veces con comandos diferentes requiere que se cumplan todos ellos (AND lógico), mientras que aplicarlo varias veces con el mismo comando requiere que solo coincida (OR lógico).
Este atributo no se hereda. Aplicarlo a una clase base no afectará a las clases derivadas.
Constructores
| Nombre | Description |
|---|---|
| ExecutableConditionAttribute(ConditionMode, String, String[]) |
Inicializa una nueva instancia de la clase ExecutableConditionAttribute. |
| ExecutableConditionAttribute(ConditionMode, String) |
Inicializa una nueva instancia de la ExecutableConditionAttribute clase que comprueba si el archivo ejecutable especificado está disponible en |
| ExecutableConditionAttribute(String, String[]) |
Inicializa una nueva instancia de la ExecutableConditionAttribute clase que incluye la prueba solo cuando el comando especificado está disponible. |
| ExecutableConditionAttribute(String) |
Inicializa una nueva instancia de la ExecutableConditionAttribute clase que incluye la prueba solo cuando el archivo ejecutable especificado está disponible en |
Propiedades
| Nombre | Description |
|---|---|
| Arguments |
Obtiene los argumentos pasados al ejecutable. Cuando está vacío, solo se comprueba la presencia del archivo ejecutable; |
| Executable |
Obtiene el archivo ejecutable que busca esta condición. |
| GroupName |
Obtiene el nombre del grupo para este atributo. Cada comando , combinado con Mode , forma su propio grupo, por lo que la necesidad de varios comandos diferentes se combina con un AND lógico, mientras que el mismo comando con modos opuestos no cancela silenciosamente (creación de MemberConditionAttributereflejo ). |
| 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) |
| TimeoutSeconds |
Obtiene o establece el número máximo de segundos que se va a esperar a que el archivo ejecutable salga cuando Arguments se proporcione. Un valor menor o igual que 0 significa que no se ha agotado el tiempo de espera. El valor predeterminado es 30 segundos. |