語言

ITestFilter 介面

定義

由使用者提供的測試過濾器實作,該過濾器會依每個測試決定測試是否執行、靜默丟棄,或報告為跳過。

[System.Diagnostics.CodeAnalysis.Experimental("MSTESTEXP", UrlFormat="https://aka.ms/mstest/diagnostics#{0}")]
public interface ITestFilter
public interface ITestFilter
[<System.Diagnostics.CodeAnalysis.Experimental("MSTESTEXP", UrlFormat="https://aka.ms/mstest/diagnostics#{0}")>]
type ITestFilter = interface
type ITestFilter = interface
Public Interface ITestFilter
屬性

備註

實作會在組裝層級註冊 TestFilterProviderAttribute 。 MSTest 介面卡在該組裝的首次測試呼叫時,使用公開無參數建構子懶惰地實現過濾器;同一個實例會被重複用於組裝中的每個測試。

實作應為無配置且執行緒安全; Filter(TestFilterContext) 可同時用於不同類別的測試。

內建過濾功能的訂購:ITestFilter 由轉接器預設的濾波組成,而非取代。 像是 VSTest --filter 指令列或測試總管選擇這類介面層級的過濾器 會先ITestFilter執行,因此 Filter(TestFilterContext) 只會看到已經通過這些閘門的測試。 相較之下, [Ignore] 則是在 之後ITestFilter 評估(這需要載入宣告型別,而這正是設計來避免的 ITestFilter )。 返回 Run 不會覆蓋較晚 [Ignore]的測試;忽略的測試仍會被忽略。

方法

名稱 Description
Filter(TestFilterContext)

決定是否執行該 context 測試。

適用於