MSTEST0032:檢閱或移除判斷提示,因為已知其條件一律為 true
屬性 | 值 |
---|---|
規則識別碼 | MSTEST0032 |
職稱 | 檢閱或移除判斷提示,因為已知其條件一律為 true。 |
類別 | 使用方式 |
修正程式是中斷或非中斷 | 不中斷 |
預設為啟用 | Yes |
預設嚴重性 | 資訊 |
在版本中引進 | 3.5.0 |
是否有程式碼修正 | No |
原因
在呼叫判斷提示時若產生始終為 true 狀況,此規則會引發診斷。
檔案描述
出現一律通過的判斷提示 (例如 Assert.IsTrue(true)
) 時,程式碼的讀者可能無法了解為何會有判斷提示,或其嘗試檢查的狀況為何。 這可能會對後續看到程式碼的開發人員造成混淆,並浪費時間。
如何修正違規
確保對 Assert.IsTrue
、Assert.IsFalse
、Assert.AreEqual
、Assert.AreNotEqual
、Assert.IsNull
或 Assert.IsNotNull
的呼叫不會產生一律為 true 的條件。
隱藏警告的時機
不建議隱藏此規則的警告。
隱藏警告
如果您只想要隱藏單一違規,請將預處理器指示詞新增至原始程式檔以停用,然後重新啟用規則。
#pragma warning disable MSTEST0032
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0032
若要停用檔案、資料夾或項目的規則,請將其嚴重性設定為 組態檔中的 none
。
[*.{cs,vb}]
dotnet_diagnostic.MSTEST0032.severity = none
如需詳細資訊,請參閱 如何在隱藏程式代碼分析警告。