MSTEST0037:使用適當的「Assert」方法
財產 | 價值 |
---|---|
規則標識碼 | MSTEST0037 |
標題 | 使用適當的 『Assert』 方法 |
類別 | 用法 |
修復是否會造成故障或不影響 | 不間斷 |
默認會啟用 | 是的 |
預設的嚴重程度 | 資訊 |
在版本 中引進 | 3.7.0 |
是否有程式碼修正 | 是的 |
原因
當有更好的替代方案時,以特定方式使用 Assert 方法。
規則描述
在多種情況下,您會收到此警告:
使用
Assert.IsTrue(<expression> == null)
(搭配所有組合,例如IsFalse
、!= null
、is null
或is not null
)。使用
Assert.IsNull(<expression>)
或Assert.IsNotNull(<expression>)
是較好的替代方案。使用
Assert.IsTrue(<expression1> == <expression2>)
(搭配所有組合,例如IsFalse
或!=
)。使用
Assert.AreEqual(<expression1>, <expression2>)
或Assert.AreNotEqual(<expression1>, <expression2>)
是較好的替代方案。使用
Assert.AreEqual(true, <expression>)
或Assert.AreEqual(false, <expression>)
。使用
Assert.IsTrue(<expression>)
或Assert.IsFalse(<expression>)
是較好的替代方案。使用
Assert.AreEqual(null, <expression>)
或Assert.AreNotEqual(null, <expression>)
。使用
Assert.IsNull(<expression>)
或Assert.IsNotNull<expression>
是較好的替代方案。
在許多情況下,較佳的替代方法會在訊息失敗時提供更佳的訊息,而且更容易閱讀。
如何修正違規
使用更好的替代方法。
隱藏警告的時機
如果斷言是為了驗證使用者定義運算符的行為,您可以且應該抑制警告。
隱藏警告
如果您只想要隱藏單一違規,請將預處理器指示詞新增至原始程式檔以停用,然後重新啟用規則。
#pragma warning disable MSTEST0037
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0037
若要停用檔案、資料夾或項目的規則,請將其嚴重性設定為 組態檔中的 none
。
[*.{cs,vb}]
dotnet_diagnostic.MSTEST0037.severity = none
如需詳細資訊,請參閱 如何在隱藏程式代碼分析警告。