ExecutableConditionAttribute Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Этот атрибут используется для условного управления тем, будет ли тестовый класс или метод теста запускаться или игнорироваться, исходя из того, доступен ли данный исполняемый файл (инструмент).
[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
- Наследование
- Атрибуты
Комментарии
Это универсальное, не зависят от инструмента условие. Существует два режима:
- Если не Arguments задано, условие проверяет, доступен ли исполняемый файл в системе
PATH(и, Windows, разрешаемый черезPATHEXT). Он не запускает исполняемый файл. Например, он может проверитьdocker, установлен ли он. - Когда Arguments задано, условие выполняется
executable argumentsи выполняется только при выходе процесса с кодом0внутри TimeoutSeconds. Например,[ExecutableCondition("docker", "version")]проверяет, отвечает ли интерфейс командной строки Docker. Выходные данные процесса перенаправляются и удаляются, а процесс (вместе с его дочерним деревом процессов, где среда выполнения поддерживает его) завершается, если он превышает время ожидания.
Состояние конкретного продукта (например, настроена ли управляющая программа Docker для контейнеров Linux) намеренно выходит за рамки; уровень таких проверок поверх этого атрибута или автора собственного ConditionBaseAttribute.
Каждая отдельная комбинация исполняемых и аргументов формирует собственную группу условий (см. раздел GroupName). В результате применение атрибута несколько раз с разными командами требует, чтобы все из них были удовлетворены (логический И), при применении его несколько раз с одной и той же командой требуется только один для сопоставления (логический ИЛИ).
Этот атрибут не наследуется. Применение его к базовому классу не повлияет на производные классы.
Конструкторы
| Имя | Описание |
|---|---|
| ExecutableConditionAttribute(ConditionMode, String, String[]) |
Инициализирует новый экземпляр класса ExecutableConditionAttribute. |
| ExecutableConditionAttribute(ConditionMode, String) |
Инициализирует новый экземпляр ExecutableConditionAttribute класса, который проверяет, доступен |
| ExecutableConditionAttribute(String, String[]) |
Инициализирует новый экземпляр ExecutableConditionAttribute класса, который включает тест только в том случае, если указанная команда доступна. |
| ExecutableConditionAttribute(String) |
Инициализирует новый экземпляр класса, который включает тест только в том случае, если данный исполняемый файл ExecutableConditionAttribute доступен. |
Свойства
| Имя | Описание |
|---|---|
| Arguments |
Возвращает аргументы, переданные исполняемому файлу. Если пусто, проверяется только наличие исполняемого |
| Executable |
Возвращает исполняемый файл, который ищет это условие. |
| GroupName |
Возвращает имя группы для этого атрибута. Каждая команда в сочетании с Mode -- формирует свою собственную группу, поэтому требуется несколько разных команд в сочетании с логическим И, в то время как одна и та же команда с противоположными режимами не автоматически отменяет (зеркальное MemberConditionAttributeотображение). |
| IgnoreMessage |
Возвращает или задает сообщение об игнорировать, указывающее причину пропуска метода теста или класса теста. (Унаследовано от ConditionBaseAttribute) |
| IsConditionMet |
Возвращает значение, указывающее, соответствует ли условие. Реализация этого свойства не должна считывать Mode свойство. |
| Mode |
Возвращает режим условия. (Унаследовано от ConditionBaseAttribute) |
| TimeoutSeconds |
Возвращает или задает максимальное количество секунд, дожидающееся завершения выполнения исполняемого файла при Arguments указании. Значение меньше или равно 0 означает отсутствие времени ожидания. Значение по умолчанию — 30 секунд. |