ExecutableConditionAttribute Třída

Definice

Tento atribut slouží k podmíněnému řízení, zda testovací třída nebo testovací metoda bude spuštěna nebo ignorována na základě toho, zda je daný spustitelný soubor (nástroj) k dispozici.

[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
Dědičnost
ExecutableConditionAttribute
Atributy

Poznámky

Toto je obecná podmínka nezávislá na nástroji. Existují dva režimy:

  • Pokud nejsou zadány žádnéArguments, podmínka pouze zkontroluje, že spustitelný soubor je zjistitelný v systému PATH (a na Windows, přeložitelný prostřednictvím PATHEXT). Spustitelný soubor nespustí. Může například ověřit, že docker je nainstalovaná.
  • Po Arguments zadání se podmínka spustí executable arguments a splní pouze v případě, že proces ukončí kód 0 v rámci TimeoutSeconds. Například ověří, [ExecutableCondition("docker", "version")] že rozhraní příkazového řádku Dockeru skutečně reaguje. Výstup procesu se přesměruje a zahodí a proces (společně s podřízeným stromem procesu, kde ho modul runtime podporuje) se ukončí, pokud překročí časový limit.

Stav specifický pro produkt (například jestli je démon Dockeru nakonfigurovaný pro kontejnery Linuxu) je záměrně mimo rozsah; vrstvy takové kontroly nad tímto atributem nebo vytvořit vlastní ConditionBaseAttribute.

Každá kombinace spustitelných souborů a argumentů tvoří vlastní skupinu podmínek (viz GroupName). V důsledku toho použití atributu vícekrát s různými příkazy vyžaduje, aby všechny příkazy byly splněny (logické A), zatímco jeho použití vícekrát pomocí stejného příkazu vyžaduje, aby se shodoval jenom jeden (logický OR).

Tento atribut není zděděný. Použití na základní třídu neovlivní odvozené třídy.

Konstruktory

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

Inicializuje novou instanci ExecutableConditionAttribute třídy.

ExecutableConditionAttribute(ConditionMode, String)

Inicializuje novou instanci ExecutableConditionAttribute třídy, která kontroluje, zda daný spustitelný soubor je k dispozici na PATH.

ExecutableConditionAttribute(String, String[])

Inicializuje novou instanci ExecutableConditionAttribute třídy, která zahrnuje test pouze v případě, že daný příkaz je k dispozici.

ExecutableConditionAttribute(String)

Inicializuje novou instanci ExecutableConditionAttribute třídy, která zahrnuje test pouze v případě, že daný spustitelný soubor je k dispozici na PATH.

Vlastnosti

Name Description
Arguments

Získá argumenty předané spustitelnému souboru. Pokud je tento soubor prázdný, je zaškrtnuté pouze přítomnost spustitelného souboru PATH . Jinak se spustitelný soubor spustí s těmito argumenty a musí ukončit kódem 0.

Executable

Získá spustitelný soubor, který tato podmínka hledá.

GroupName

Získá název skupiny pro tento atribut. Každý příkaz –- v kombinaci s Mode -- tvoří svou vlastní skupinu, takže vyžadování několika různých příkazů se zkombinuje s logickou funkcí AND, zatímco stejný příkaz s opačnými režimy nezruší bezobslužně (zrcadlení MemberConditionAttribute).

IgnoreMessage

Získá nebo nastaví ignorovat zprávu označující důvod pro ignorování testovací metody nebo testovací třídy.

(Zděděno od ConditionBaseAttribute)
IsConditionMet

Získá hodnotu určující, zda je podmínka splněna. Implementace této vlastnosti by neměla číst Mode vlastnost.

Mode

Získá režim podmínky.

(Zděděno od ConditionBaseAttribute)
TimeoutSeconds

Získá nebo nastaví maximální počet sekund čekání na ukončení spustitelného souboru po Arguments zadání. Hodnota menší nebo rovna 0 znamená žádný časový limit. Výchozí hodnota je 30 sekund.

Platí pro