ExecutableConditionAttribute Klasse

Definition

Dieses Attribut wird verwendet, um bedingt zu steuern, ob eine Testklasse oder eine Testmethode ausgeführt oder ignoriert wird, je nachdem, ob eine bestimmte ausführbare Datei (Tool) verfügbar ist.

[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
Vererbung
ExecutableConditionAttribute
Attribute

Hinweise

Dies ist eine generische, toolagnostische Bedingung. Es gibt zwei Modi:

  • Wenn kein Arguments Wert angegeben wird, überprüft die Bedingung nur, ob die ausführbare Datei im System PATHerkannt werden kann (und auf Windows, durchlösbarPATHEXT). Die ausführbare Datei wird nicht ausgeführt. Beispielsweise kann überprüft werden, ob docker die Installation erfolgt.
  • Wenn Arguments die Bedingung angegeben wird, wird die Bedingung ausgeführt executable arguments und wird nur erfüllt, wenn der Prozess mit Code 0 innerhalb TimeoutSecondsbeendet wird. Überprüft beispielsweise, [ExecutableCondition("docker", "version")] ob die Docker CLI tatsächlich reagiert. Die Prozessausgabe wird umgeleitet und verworfen, und der Prozess (zusammen mit seiner untergeordneten Prozessstruktur, in der die Laufzeit sie unterstützt) wird beendet, wenn es das Timeout überschreitet.

Produktspezifischer Zustand (z. B. ob der Docker-Daemon für Linux-Container konfiguriert ist) ist absichtlich außerhalb des Gültigkeitsbereichs. über dieses Attribut verfügen, oder erstellen Sie eigene ConditionBaseAttributeÜberprüfungen.

Jede unterschiedliche Kombination aus ausführbaren Und-Argumenten bildet eine eigene Bedingungsgruppe (siehe GroupName). Daher muss das Anwenden des Attributs mehrmals mit verschiedenen Befehlen erfüllt sein (logisches UND), während das Anwenden mehrmals mit demselben Befehl nur eine Übereinstimmung erfordert (logischeS ODER).

Dieses Attribut wird nicht geerbt. Das Anwenden auf eine Basisklasse wirkt sich nicht auf abgeleitete Klassen aus.

Konstruktoren

Name Beschreibung
ExecutableConditionAttribute(ConditionMode, String, String[])

Initialisiert eine neue Instanz der ExecutableConditionAttribute-Klasse.

ExecutableConditionAttribute(ConditionMode, String)

Initialisiert eine neue Instanz der ExecutableConditionAttribute Klasse, die überprüft, ob die angegebene ausführbare Datei verfügbar PATHist.

ExecutableConditionAttribute(String, String[])

Initialisiert eine neue Instanz der ExecutableConditionAttribute Klasse, die den Test nur enthält, wenn der angegebene Befehl verfügbar ist.

ExecutableConditionAttribute(String)

Initialisiert eine neue Instanz der ExecutableConditionAttribute Klasse, die den Test nur enthält, wenn die angegebene ausführbare Datei verfügbar PATHist.

Eigenschaften

Name Beschreibung
Arguments

Ruft die Argumente ab, die an die ausführbare Datei übergeben werden. Wenn sie leer ist, wird nur das Vorhandensein der ausführbaren Datei PATH aktiviert. Andernfalls wird die ausführbare Datei mit diesen Argumenten ausgeführt und muss mit Code 0 beendet werden.

Executable

Ruft die ausführbare Datei ab, nach der diese Bedingung sucht.

GroupName

Ruft den Gruppennamen für dieses Attribut ab. Jeder Befehl - kombiniert mit Mode -- bildet eine eigene Gruppe, sodass mehrere unterschiedliche Befehle mit einem logischen UND kombiniert werden, während derselbe Befehl mit gegenüberliegenden Modi nicht im Hintergrund abbricht (Spiegelung MemberConditionAttribute).

IgnoreMessage

Dient zum Abrufen oder Festlegen der Ignorieren-Nachricht, die den Grund für die Ignorieren der Testmethode oder der Testklasse angibt.

(Geerbt von ConditionBaseAttribute)
IsConditionMet

Ruft einen Wert ab, der angibt, ob die Bedingung erfüllt ist. Die Implementierung dieser Eigenschaft sollte die Mode Eigenschaft nicht lesen.

Mode

Ruft den Bedingungsmodus ab.

(Geerbt von ConditionBaseAttribute)
TimeoutSeconds

Ruft die maximale Anzahl von Sekunden ab, bis die ausführbare Datei beendet wird, wenn Arguments angegeben wird, oder legt diese fest. Ein Wert kleiner oder gleich 0 bedeutet kein Timeout. Der Standardwert ist 30 Sekunden.

Gilt für: