次の方法で共有


MSTEST0021: TestCleanup メソッドよりも Dispose を優先する

プロパティ
ルール ID MSTEST0021
Title TestCleanup メソッドよりも Dispose を優先する
カテゴリ デザイン
修正が中断ありか中断なしか なし
既定で有効 いいえ
既定の重要度 情報
導入されたバージョン 3.4.0
コード修正の有無 はい (3.7.0 以降)

原因

このルールでは、void [TestCleanup] メソッドがあるときに、またはターゲット フレームワークで [TestCleanup] インターフェイスがサポートされている場合は任意の IAsyncDisposable で診断が行われます。

規則の説明

Dispose または DisposeAsync の使用はより一般的なパターンであり、一部の開発者はテストでも常にこのパターンを使うことを好みます。

違反の修正方法

[TestCleanup] メソッドを Dispose または DisposeAsync パターンで置き換えます。

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

通常、オプトインすることに決めた場合はこのルールの警告を抑制しません。

メモ

このルールはオプトインです。 <MSTestAnalysisMode>All</MSTestAnalysisMode> を使用していても、有効になりません。 MSTestAnalysisModeの詳細については、MSTest コード分析 を参照してください。

警告を抑制する

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

#pragma warning disable MSTEST0021
// The code that's violating the rule is on this line.
#pragma warning restore MSTEST0021

ファイル、フォルダー、またはプロジェクトのルールを無効にするには、構成ファイルでその重要度を none に設定します。

[*.{cs,vb}]
dotnet_diagnostic.MSTEST0021.severity = none

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