次の方法で共有


MSTEST0009: TestCleanup メソッドには有効なレイアウトが必要

プロパティ
ルール ID MSTEST0009
Title TestCleanup メソッドには有効なレイアウトが必要
カテゴリ 使用法
修正が中断ありか中断なしか なし
既定で有効 はい
既定の重要度 警告
導入されたバージョン 3.3.0
コード修正の有無 はい

原因

[TestCleanup] というマークが付いたメソッドには、有効なレイアウトが必要です。

規則の説明

[TestCleanup] というマークが付いたメソッドを有効にするには、以下のレイアウトに従う必要があります。

  • public である必要があります
  • abstract にすることはできません
  • async void にすることはできません
  • static にすることはできません
  • これを特殊なメソッド (ファイナライザー、演算子など) にすることはできません。
  • これをジェネリックにすることはできません
  • これはパラメーターを受け取ることはできません
  • 戻り値の型は voidTaskValueTask のどれかである必要があります

これらのメソッドを宣言する型は、次の規則にも従う必要があります。

  • 型は、class である必要があります。
  • classpublic または internal である必要があります (テスト プロジェクトが [DiscoverInternals] 属性を使用する場合)。
  • classstatic にしないようにする必要があります。
  • classsealed である場合は、[TestClass] (または派生型の属性) を使用してマークする必要があります。

違反の修正方法

メソッドが上記で説明したレイアウトと一致していることを確認してください。

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

この規則による警告は抑制しないでください。 このルールを無視すると、フラグが立ったインスタンスはスキップされるか、ランタイム エラーを引き起こします。

警告を抑制する

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

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

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

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

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