次の方法で共有


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

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

原因

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

規則の説明

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

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

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

  • 型は、クラスである必要があります。
  • クラスはパブリックまたは内部である必要があります (テスト プロジェクトが [DiscoverInternals] 属性を使用している場合)。
  • クラスを静的にすることはできません。
  • クラスは [TestClass] (または派生属性) でマークする必要があります
  • クラスはジェネリックにしないようにする必要があります

違反の修正方法

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

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

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

警告を抑制する

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

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

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

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

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