| 屬性 | 值 |
|---|---|
| 規則識別碼 | MSTEST0022 |
| 職稱 | 偏好 TestCleanup,而不是 Dispose 方法 |
| 類別 | 設計 |
| 修正程式是中斷或非中斷 | 不中斷 |
| 預設為啟用 | No |
| 預設嚴重性 | 資訊 |
| 在版本中引進 | 3.4.0 |
| 是否有程式碼修正 | Yes |
原因
偵測到 Dispose 或 DisposeAsync 方法時,此規則會引發診斷。
檔案描述
雖然 Dispose 或 DisposeAsync 是較常見的模式,但有些開發人員偏好在測試清理階段一律使用 [TestCleanup],因為這個方法即使在舊版的 .NET 中也允許異步模式。
如何修正違規
將 Dispose 或 DisposeAsync 方法取代為 [TestCleanup]。
隱藏警告的時機
如果您決定加入此規則,通常不建議抑制此規則的警告。
備註
此規則為選擇性加入。 即使在使用 <MSTestAnalysisMode>All</MSTestAnalysisMode>的情況下,它仍然無法啟用。 如需 MSTestAnalysisMode的詳細資訊,請參閱 MSTest 程式代碼分析。
隱藏警告
如果您只想要隱藏單一違規,請將預處理器指示詞新增至原始程式檔以停用,然後重新啟用規則。
#pragma warning disable MSTEST0022
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0022
若要停用檔案、資料夾或項目的規則,請將其嚴重性設定為 組態檔中的 none。
[*.{cs,vb}]
dotnet_diagnostic.MSTEST0022.severity = none
如需詳細資訊,請參閱 如何在隱藏程式代碼分析警告。