ExecutableConditionAttribute Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Ten atrybut służy do warunkowego kontrolowania, czy klasa testowa, czy metoda testowa będzie uruchamiana, czy ignorowana, na podstawie tego, czy dany plik wykonywalny (narzędzie) jest dostępny.
[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
- Dziedziczenie
- Atrybuty
Uwagi
Jest to ogólny, niezależny od narzędzia warunek. Istnieją dwa tryby:
- Jeśli nie Arguments zostanie podany, warunek sprawdza tylko, czy plik wykonywalny jest wykrywalny w systemie
PATH(i w Windows, można rozpoznać za pomocą metodyPATHEXT). Nie uruchamia pliku wykonywalnego. Na przykład może sprawdzić, czydockerjest zainstalowana. - Po Arguments podaniu warunek jest uruchamiany
executable argumentsi jest spełniony tylko wtedy, gdy proces kończy działanie z kodem0w programie TimeoutSeconds. Na przykład sprawdza,[ExecutableCondition("docker", "version")]czy interfejs wiersza polecenia platformy Docker rzeczywiście odpowiada. Dane wyjściowe procesu są przekierowywane i odrzucane, a proces (wraz z drzewem procesów podrzędnych, gdzie obsługuje go środowisko uruchomieniowe) zostanie zakończony, jeśli przekroczy limit czasu.
Stan specyficzny dla produktu (na przykład, czy demon platformy Docker jest skonfigurowany dla kontenerów systemu Linux) jest celowo poza zakresem; warstwy takich kontroli na podstawie tego atrybutu lub utwórz własny ConditionBaseAttribute.
Każda odrębna kombinacja wykonywalnych i argumentów tworzy własną grupę warunków (zobacz GroupName). W związku z tym zastosowanie atrybutu wiele razy przy użyciu różnych poleceń wymaga spełnienia wszystkich z nich (logiczneGO AND), podczas stosowania go wiele razy za pomocą tego samego polecenia wymaga tylko jednego do dopasowania (logiczne OR).
Ten atrybut nie jest dziedziczony. Zastosowanie go do klasy bazowej nie będzie miało wpływu na klasy pochodne.
Konstruktory
| Nazwa | Opis |
|---|---|
| ExecutableConditionAttribute(ConditionMode, String, String[]) |
Inicjuje nowe wystąpienie klasy ExecutableConditionAttribute. |
| ExecutableConditionAttribute(ConditionMode, String) |
Inicjuje ExecutableConditionAttribute nowe wystąpienie klasy, które sprawdza, czy dany plik wykonywalny jest dostępny w pliku |
| ExecutableConditionAttribute(String, String[]) |
Inicjuje nowe wystąpienie ExecutableConditionAttribute klasy, które zawiera test tylko wtedy, gdy dane polecenie jest dostępne. |
| ExecutableConditionAttribute(String) |
Inicjuje nowe wystąpienie ExecutableConditionAttribute klasy, która zawiera test tylko wtedy, gdy dany plik wykonywalny jest dostępny w programie |
Właściwości
| Nazwa | Opis |
|---|---|
| Arguments |
Pobiera argumenty przekazywane do pliku wykonywalnego. Gdy jest pusty, sprawdzana jest tylko obecność pliku wykonywalnego. W przeciwnym razie plik wykonywalny |
| Executable |
Pobiera plik wykonywalny, którego szuka ten warunek. |
| GroupName |
Pobiera nazwę grupy dla tego atrybutu. Każde polecenie - w połączeniu z Mode - tworzy własną grupę, więc wymaganie kilku różnych poleceń jest łączone z logicznym AND, podczas gdy to samo polecenie z przeciwnymi trybami nie powoduje dyskretnego anulowania (dublowanie MemberConditionAttribute). |
| IgnoreMessage |
Pobiera lub ustawia komunikat ignoruj wskazujący przyczynę ignorowania metody testowej lub klasy testowej. (Odziedziczone po ConditionBaseAttribute) |
| IsConditionMet |
Pobiera wartość wskazującą, czy warunek jest spełniony. Implementacja tej właściwości nie powinna odczytywać Mode właściwości. |
| Mode |
Pobiera tryb warunku. (Odziedziczone po ConditionBaseAttribute) |
| TimeoutSeconds |
Pobiera lub ustawia maksymalną liczbę sekund oczekiwania na zakończenie działania pliku wykonywalnego po Arguments podaniu. Wartość mniejsza niż lub równa 0 oznacza brak limitu czasu. Wartość domyślna to 30 sekund. |