ConditionBaseAttribute 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
此屬性用於根據條件及可選訊息,條件控制測試類別或測試方法是否執行或忽略。
[System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method, Inherited=false)]
public abstract class ConditionBaseAttribute : Attribute
[System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method, Inherited=false)]
[System.Runtime.CompilerServices.Nullable(0)]
public abstract class ConditionBaseAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method, Inherited=false)>]
type ConditionBaseAttribute = class
inherit Attribute
[<System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method, Inherited=false)>]
[<System.Runtime.CompilerServices.Nullable(0)>]
type ConditionBaseAttribute = class
inherit Attribute
Public MustInherit Class ConditionBaseAttribute
Inherits Attribute
- 繼承
-
ConditionBaseAttribute
- 衍生
- 屬性
備註
這個屬性不是遺傳的。 套用到基底類別不會影響衍生類別。
是否能將相同的條件屬性類型套用於單一測試類別或測試方法,取決於每個衍生屬性的自身 AllowMultiple 值:
-
MemberConditionAttribute 並 ExecutableConditionAttribute 設定 AllowMultiple 為
true。 具有不同 GroupName 值的堆疊使用會與邏輯 AND 結合,而重複產生相同 GroupName 值的使用則與邏輯 OR 合併。 -
OSConditionAttribute
CIConditionAttribute,且
ArchitectureConditionAttribute設定AllowMultiple為false:堆疊它們是編譯時的錯誤。 OSConditionAttribute 並ArchitectureConditionAttribute取一個旗幟枚舉,因此將這些值與位元順序的 OR 運算子合併,例如[OSCondition(OperatingSystems.Windows | OperatingSystems.Linux)]。 沒有什麼可以組合成 CIConditionAttribute,而 ,該 只攜帶一個 ConditionMode。
條件屬性依其 GroupName 值分組,不論屬性類型為何。 同一群組內的值會與邏輯 OR 結合,不同群組則以邏輯 AND 組合。 內建條件屬性類型會為不同條件類型使用不同的群組名稱,因此合併這些不同內建類型時,必須滿足所有條件。
建構函式
| 名稱 | Description |
|---|---|
| ConditionBaseAttribute(ConditionMode) |
初始化 ConditionBaseAttribute 類別的新執行個體。 |
屬性
| 名稱 | Description |
|---|---|
| GroupName |
會獲得這個屬性的群組名稱。 當多個繼承 ConditionBaseAttribute 屬性存在時,這點尤為重要。 IsConditionMet同一群組中的屬性值會被「或」合併。 而不同群組的價值則是「AND」合而為一。 換句話說,如果任何一個群的所有值都為 IsConditionMet 假,該檢定將被忽略。 |
| IgnoreMessage |
會收到或設定忽略訊息,說明忽略測試方法或測試類別的原因。 |
| IsConditionMet |
獲得一個表示條件是否被滿足的值。 這個屬性的實作不應該讀取該 Mode 屬性。 |
| Mode |
會進入狀態模式。 |
| ShouldRun |
會得到一個值,指示測試方法或測試類別是否應該忽略。 |