MSTEST0032: 条件が常に真であることがわかっているため、アサーションを確認するか削除してください
プロパティ | 値 |
---|---|
ルール ID | MSTEST0032 |
Title | アサーションを常に true であるその条件として確認または削除します。 |
カテゴリ | 使用法 |
修正が中断ありか中断なしか | なし |
既定で有効 | はい |
既定の重要度 | 情報 |
導入されたバージョン | 3.5.0 |
コード修正の有無 | いいえ |
原因
この規則は、アサーションの呼び出しによって常に 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
詳細については、「コード分析の警告を抑制する方法」を参照してください。
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET