次の方法で共有


MSTEST0037: 適切な 'Assert' メソッドを使用する

プロパティ [値]
ルール ID MSTEST0037
タイトル 適切な 'Assert' メソッドを使用する
カテゴリ 使い方
修正が破壊的か非破壊的か なし
既定で有効 あり
既定の重大度 Info
導入されたバージョン 3.7.0
コード修正の有無 あり

原因

より適切な代替手段がある場合に、特定の方法で Assert メソッドを使用している。

規則の説明

この警告が表示されるケースは複数あります。

  • Assert.IsTrue(<expression> == null) の使用 (IsFalse!= nullis nullis 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> の方がより適切です。

多くの場合、より適切な代替手段を使用する方が、失敗した場合のメッセージが読みやすく、より優れた内容になります。

違反の修正方法

より適切な代替手段を使用します。

どのようなときに警告を抑制するか

Assert がユーザー定義演算子の動作の検証を目的としている場合は、警告を抑制する必要があり、抑制が可能です。

警告を抑制する

単一の違反を抑制するだけの場合は、ソース ファイルにプリプロセッサ ディレクティブを追加して無効にしてから、規則をもう一度有効にします。

#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

詳細については、「コード分析の警告を抑制する方法」を参照してください。