次の方法で共有


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

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

原因

この規則は、テスト クラス ([TestClass]でマークされたクラス) で宣言されたパラメータなしの明示的コンストラクターがある場合に診断を発生させます。

規則の説明

同期と非同期の両方のテスト初期化に [TestInitialize] の使用を強制するには、この規則を使用します。 非同期 (非同期/待機) テストの初期化では、結果の[TestInitialize]を待機する必要があるため、Taskメソッドを使用する必要があります。

違反の修正方法

コンストラクターの呼び出しを [TestInitialize] メソッドに置き換えます。

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

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

警告を抑制する

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

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

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

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

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