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
Наследование
ExecutableConditionAttribute
Атрибуты

Комментарии

Это универсальное, не зависят от инструмента условие. Существует два режима:

  • Если не 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 класса, который проверяет, доступен PATHли данный исполняемый файл.

ExecutableConditionAttribute(String, String[])

Инициализирует новый экземпляр ExecutableConditionAttribute класса, который включает тест только в том случае, если указанная команда доступна.

ExecutableConditionAttribute(String)

Инициализирует новый экземпляр класса, который включает тест только в том случае, если данный исполняемый файл ExecutableConditionAttribute доступен.PATH

Свойства

Имя Описание
Arguments

Возвращает аргументы, переданные исполняемому файлу. Если пусто, проверяется только наличие исполняемого PATH файла; в противном случае исполняемый файл выполняется с этими аргументами и должен выйти из кода 0.

Executable

Возвращает исполняемый файл, который ищет это условие.

GroupName

Возвращает имя группы для этого атрибута. Каждая команда в сочетании с Mode -- формирует свою собственную группу, поэтому требуется несколько разных команд в сочетании с логическим И, в то время как одна и та же команда с противоположными режимами не автоматически отменяет (зеркальное MemberConditionAttributeотображение).

IgnoreMessage

Возвращает или задает сообщение об игнорировать, указывающее причину пропуска метода теста или класса теста.

(Унаследовано от ConditionBaseAttribute)
IsConditionMet

Возвращает значение, указывающее, соответствует ли условие. Реализация этого свойства не должна считывать Mode свойство.

Mode

Возвращает режим условия.

(Унаследовано от ConditionBaseAttribute)
TimeoutSeconds

Возвращает или задает максимальное количество секунд, дожидающееся завершения выполнения исполняемого файла при Arguments указании. Значение меньше или равно 0 означает отсутствие времени ожидания. Значение по умолчанию — 30 секунд.

Применяется к