次の方法で共有


MSTEST0020: TestInitialize メソッドよりもコンストラクターを優先する

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

原因

このルールでは、void [TestInitialize] メソッドがある場合に診断が行われます。

規則の説明

通常、非同期以外の初期化ではコンストラクターに依存することをお勧めします。これにより、readonly に依存し、テストの開発時により良いコンパイラ フィードバックを得ることができます。 これは、null 許容の有効なコンテキストを処理する場合に特に当てはまります。

違反の修正方法

[TestInitialize] を返す void をコンストラクターで置き換えます。

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

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

警告を抑制する

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

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

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

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

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