ExecutableConditionAttribute クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
この属性は、特定の実行可能ファイル (ツール) が使用可能かどうかに基づいて、テスト クラスまたはテスト メソッドを実行するか無視するかを条件付きで制御するために使用されます。
[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
- 継承
- 属性
注釈
これは、ツールに依存しない一般的な条件です。 次の 2 つのモードがあります。
-
Argumentsが指定されていない場合、条件は、実行可能ファイルがシステム
PATHで検出可能であることを確認するだけです (また、Windowsでは、PATHEXTで解決できます)。 実行可能ファイルは実行されません。 たとえば、dockerがインストールされていることを確認できます。 -
Argumentsが指定されると、条件は
executable arguments実行され、TimeoutSeconds内のコード0でプロセスが終了した場合にのみ満たされます。 たとえば、[ExecutableCondition("docker", "version")]は、Docker CLI が実際に応答することを確認します。 プロセスの出力はリダイレクトされて破棄され、タイムアウトを超えるとプロセスは (ランタイムがサポートする子プロセス ツリーと共に) 終了します。
製品固有の状態 (Docker デーモンが Linux コンテナー用に構成されているかどうかなど) は、意図的にスコープ外です。この属性の上にこのようなチェックを重ねて、または独自の ConditionBaseAttributeを作成します。
それぞれの実行可能ファイルと引数の組み合わせによって、独自の条件グループが形成されます ( GroupNameを参照)。 その結果、属性を異なるコマンドで複数回適用するには 、すべての 属性を満たす必要があります (論理 AND)。 一方、同じコマンドを使用して複数回適用する場合は、一致する (論理 OR) だけで済みます。
この属性は継承されません。 基底クラスに適用しても、派生クラスには影響しません。
コンストラクター
| 名前 | 説明 |
|---|---|
| ExecutableConditionAttribute(ConditionMode, String, String[]) |
ExecutableConditionAttribute クラスの新しいインスタンスを初期化します。 |
| ExecutableConditionAttribute(ConditionMode, String) |
指定した実行可能ファイルが |
| ExecutableConditionAttribute(String, String[]) |
指定したコマンドが使用可能な場合にのみ、テストを含む ExecutableConditionAttribute クラスの新しいインスタンスを初期化します。 |
| ExecutableConditionAttribute(String) |
指定された実行可能ファイルが |
プロパティ
| 名前 | 説明 |
|---|---|
| Arguments |
実行可能ファイルに渡される引数を取得します。 空の場合、 |
| Executable |
この条件が検索する実行可能ファイルを取得します。 |
| GroupName |
この属性のグループ名を取得します。 各コマンドは、 Mode と組み合わされて独自のグループを形成するため、複数の異なるコマンドを論理 AND と組み合わせる必要があります。反対のモードを持つ同じコマンドは自動的に取り消されません (ミラーリング MemberConditionAttribute)。 |
| IgnoreMessage |
テスト メソッドまたはテスト クラスを無視する理由を示す無視メッセージを取得または設定します。 (継承元 ConditionBaseAttribute) |
| IsConditionMet |
条件が満たされているかどうかを示す値を取得します。 このプロパティの実装では、 Mode プロパティを読み取ってはいけません。 |
| Mode |
条件モードを取得します。 (継承元 ConditionBaseAttribute) |
| TimeoutSeconds |
Argumentsが指定されたときに実行可能ファイルが終了するまで待機する最大秒数を取得または設定します。 0 以下の値は、タイムアウトがないことを意味します。 既定値は 30 秒です。 |